Пример #1
0
        static void Main(string[] args)
        {
            enni = PointBetweenDomains.readInfo(args[0]);
            enni.socketToCloud.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), enni.portOfCloud));
            enni.socketToCloud.Send(Encoding.ASCII.GetBytes("First Message " + enni.ip.ToString()));
            byte[] buffer12 = new byte[128];
            enni.socketToCloud.Receive(buffer12);
            Console.WriteLine("received info");
            byte[] buffer    = new byte[128];
            int    readBytes = 0;
            // readBytes=enni.socketToCloud.Receive(buffer);
            LinkResourceManager lrm = new LinkResourceManager(enni.port1);

            lrm.IPofNode = enni.ip;
            enni.lrms.Add(lrm);
            LinkResourceManager lrm1 = new LinkResourceManager(enni.port2);

            lrm1.IPofNode = enni.ip;
            enni.lrms.Add(lrm1);
            List <byte> buffer1 = new List <byte>();

            buffer1.AddRange(Encoding.ASCII.GetBytes("CC-callin " + enni.ip.ToString() + " "));

            buffer1.AddRange(lrm.convertToBytes());

            enni.socketToDomain1.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), enni.portDomain1));
            enni.socketToDomain1.Send(buffer1.ToArray());
            buffer1.Clear();
            buffer1.AddRange(Encoding.ASCII.GetBytes("CC-callin " + enni.ip.ToString() + " "));
            buffer1.AddRange(lrm1.convertToBytes());

            /* foreach (var lr in enni.lrms)
             * {
             *   buffer1.AddRange(lr.convertToBytes());
             * }*/
            enni.socketToDomain2.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), enni.portDomain2));
            enni.socketToDomain2.Send(buffer1.ToArray());
            Thread thread = new Thread(WaitForData);

            thread.Start();
        }
Пример #2
0
        public static PointBetweenDomains readInfo(String str)
        {
            PointBetweenDomains enni = new PointBetweenDomains();

            StreamReader stream = new StreamReader(str);
            string       line   = stream.ReadLine();

            enni.port1 = ushort.Parse(line.Split(' ')[0]);
            enni.port2 = ushort.Parse(line.Split(' ')[1]);
            enni.ip    = IPAddress.Parse(line.Split(' ')[2]);
            IPAddress myhost = IPAddress.Parse("127.0.0.1");

            enni.socketToCloud   = new Socket(myhost.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            enni.socketToDomain1 = new Socket(myhost.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            enni.socketToDomain2 = new Socket(myhost.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            line             = stream.ReadLine();
            enni.portOfCloud = ushort.Parse(line.Split(' ')[0]);
            enni.portDomain1 = ushort.Parse(line.Split(' ')[1]);
            enni.portDomain2 = ushort.Parse(line.Split(' ')[2]);
            return(enni);
        }