private List <NetworkPort> GetNetworkPorts()
        {
            List <NetworkPort> myNetworkPorts = new List <NetworkPort>();

            foreach (DeviceItem deviceItem in device.DeviceItems[1].DeviceItems)
            {
                if (deviceItem.Name.Contains("PROFINET"))
                {
                    foreach (DeviceItem port in deviceItem.DeviceItems)
                    {
                        NetworkPort            networkPort    = port.GetService <NetworkPort>();
                        NetworkPortAssociation partnerPortAss = networkPort.ConnectedPorts;

                        if (partnerPortAss.Count > 0)
                        {
                            myNetworkPorts.Add(partnerPortAss[0]);
                        }
                        else
                        {
                            myNetworkPorts.Add(null);
                        }
                    }
                }
            }

            return(myNetworkPorts);
        }
Exemple #2
0
        public void xGetAllPortsAndPartners()
        {
            foreach (Device currentDevice in AllDevices)
            {
                IList <DeviceItem> tempPnInterfacesDeviceItems = Service.GetDeviceItemsWithAttribute(currentDevice.DeviceItems, "InterfaceType", "Ethernet");
                if (tempPnInterfacesDeviceItems != null)
                {
                    foreach (DeviceItem currentPnInterfacesDeviceItems in tempPnInterfacesDeviceItems)
                    {
                        foreach (DeviceItem currentSubDeviceItems in currentPnInterfacesDeviceItems.DeviceItems)
                        {
                            try
                            {
                                NetworkPort tempPort = currentSubDeviceItems.GetService <NetworkPort>();
                                if (tempPort != null)
                                {
                                    PortAndPartnerPort newPortAndPartnerPort = new PortAndPartnerPort(tempPort);

                                    NetworkPortsAndPartners.Add(newPortAndPartnerPort);
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                }
            }
        }
        public async Task PutServerInfo(string ip, int port, string serverName)
        {
            if (await this.serverService.Exists(Context.Guild.Id, ip, port))
            {
                await ReplyAsync("This server is already registered with this bot.");
            }

            if (!System.Net.IPAddress.TryParse(ip, out _))
            {
                await ReplyAsync("Wrong IP address!");

                return;
            }

            if (NetworkPort.IsCorrect(port) == false)
            {
                await ReplyAsync("Wrong port!");

                return;
            }

            await this.serverService.Getsert(Context.Guild.Id, ip, port, serverName);

            await ReplyAsync("Server has been registered.");
        }
        public async Task SubscribeToServer(string serverName, int port)
        {
            var server = await serverService.Get(Context.Guild.Id, serverName);

            if (server == null)
            {
                await ReplyAsync("Server does not exist!");

                return;
            }

            if (await SubscribedServerService.Exists(Context.Guild.Id, server.ServerName, Context.Channel.Id))
            {
                await ReplyAsync("Server is already registered here!");

                return;
            }

            if (NetworkPort.IsCorrect(port) == false)
            {
                await ReplyAsync("Wrong port!");

                return;
            }

            await SubscribedServerService.AddServer(Context.Guild.Id, server.ServerName, port, Context.Channel.Id);

            await ReplyAsync("Done!");

            return;
        }
Exemple #5
0
 public PortAndPartnerPort(NetworkPort devicePort)
 {
     DevicePort = devicePort;
     if (DevicePort != null)
     {
         foreach (NetworkPort partnerPort in DevicePort.ConnectedPorts)
         {
             PartnerPorts.Add(partnerPort);
             isConnected = true;
         }
     }
 }
        private void StartServer()
        {
            //int port = NetworkPort.CheckIfPortAvailable(5050) ? 5050 : 8088;
            int?availablePort = NetworkPort.CheckFirstAvailablePort(new int[] { 5050, 8088 });

            if (availablePort == null)
            {
                MessageBox.Show("Please stop app running on 5050 or 8088 port in your PC");
                MessageBox.Show("Application is closing");
                Application.Current.Shutdown();
                Environment.Exit(0);
            }
            else
            {
                _server = new HttpServer((int)availablePort);
            }
        }
Exemple #7
0
        public static IList <NetworkPort> GetAllPorts(Device aDevice)
        {
            List <NetworkPort> returnPorts = new List <NetworkPort>();

            //IList<DeviceItem> addPnInterfaceDeviceItems;

            if (aDevice != null)
            {
                foreach (DeviceItem currentDeviceItem in aDevice.DeviceItems)
                {
                    foreach (DeviceItem currentSub1DeviceItems in currentDeviceItem.DeviceItems)
                    {
                        try
                        {
                            if (currentSub1DeviceItems.GetAttribute("InterfaceType").ToString() == "Ethernet")
                            {
                                foreach (DeviceItem currentSub2DeviceItems in currentDeviceItem.DeviceItems)
                                {
                                    try
                                    {
                                        NetworkPort tempPort = currentSub2DeviceItems.GetService <NetworkPort>();
                                        if (tempPort != null)
                                        {
                                            returnPorts.Add(tempPort);
                                        }
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                        catch (EngineeringNotSupportedException)
                        {
                        }
                        catch (Exception ex)
                        {
                            Program.FaultMessage("Could not get Attribute", ex, "Service.GetAllPorts");
                        }
                    }
                }
            }

            return(returnPorts);
        }
        //Set Topology
        private void SetTopology(Device device, List <NetworkPort> networkPorts)
        {
            int i = 0;

            foreach (DeviceItem deviceItem in device.DeviceItems[1].DeviceItems)
            {
                if (deviceItem.Name.Contains("PROFINET"))
                {
                    foreach (DeviceItem port in deviceItem.DeviceItems)
                    {
                        NetworkPort networkPort = port.GetService <NetworkPort>();
                        if (networkPorts[i] != null)
                        {
                            networkPort.ConnectToPort(networkPorts[i]);
                        }

                        i++;
                    }
                }
            }
        }