Esempio n. 1
0
        private static Thread initListenThread(CloudPortsRow row)
        {
            var t = new Thread(() => RealStart(row));

            t.Start();
            return(t);
        }
Esempio n. 2
0
        private static void RealStart(CloudPortsRow row)
        {
            int       outputPort   = row.getOutPort();
            String    nodeName     = row.getNodeName();
            InSocket  inputSocket  = new InSocket(row.getInPort(), nodeName);
            OutSocket outputSocket = new OutSocket(outputPort, nodeName);

            while (true)
            {
                inputSocket.ListenForConnection();
                outputSocket.ListenForConnection();
                SendingManager.addOutSocket(outputSocket);
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Connected with node: " + nodeName);
                try
                {
                    inputSocket.ListenForIncomingData();
                }
                catch (SocketException e)
                {
                    SendingManager.removeSocket(outputSocket);
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("Node " + nodeName + " disconnected.");
                }
            }
        }
        private static void loadPorts()
        {
            StreamReader reader   = getFileStreamReader(Config.getProperty("CloudPortsFile"));
            String       textLine = null;

            String[] parameters = null;
            String   nodeName   = null;
            String   inPort     = null;
            String   outPort    = null;

            while ((textLine = reader.ReadLine()) != null)
            {
                parameters = textLine.Split(SEPARATOR);
                nodeName   = parameters[NODENAME_POSITION];
                inPort     = parameters[INPORT_POSITION];
                outPort    = parameters[OUTPORT_POSITION];
                CloudPortsRow row = createCloudPortsRow(nodeName, int.Parse(inPort), int.Parse(outPort));
                portsBetweenNodesAndCloud.Add(row);
            }
        }
        private static CloudPortsRow createCloudPortsRow(String nodeName, int inPort, int outPort)
        {
            CloudPortsRow row = new CloudPortsRow(nodeName, inPort, outPort);

            return(row);
        }