Пример #1
0
        private void handleClosest()
        {
            byte[]   data        = buff.Skip(2).ToArray();
            byte[]   channelGUID = buff.Skip(1).Take(1).ToArray();
            PeerInfo pInfo       = UDPResponder.ByteArrayToPeerInfo(data);
            int      targetGUID  = (int)channelGUID[0];

            Console.WriteLine("Received a responsse for closest to {0}, with GUID: {1}", targetGUID, pInfo.getGUID);

            //get the corresponding channel
            receiveClosest(targetGUID, pInfo);
        }
Пример #2
0
        private void handleJoin()
        {
            byte[] target     = buff.Skip(1).Take(1).ToArray();
            int    targetGUID = target[0];

            byte[]   data  = buff.Skip(2).ToArray();
            PeerInfo pInfo = UDPResponder.ByteArrayToPeerInfo(data);

            Console.WriteLine("Received a join to table request from {0}", pInfo.getGUID);
            //add the pInfo with event
            receiveRequestJoin(targetGUID, pInfo);
        }
Пример #3
0
        private void handlePing(EndPoint remoteEnd)
        {
            // byte[] portByteArray = buff.Skip(1).Take(16).ToArray();
            int port = BitConverter.ToInt32(buff, 1);

            Console.WriteLine("Received a ping from: {0}, listen port: {1}", remoteEnd, port);

            // create ip end point from udp packet ip and listen port received
            IPEndPoint remoteIpEndPoint = remoteEnd as IPEndPoint;

            remoteIpEndPoint.Port = port;

            // respond to ping (send guid)
            UDPResponder udpResponse = new UDPResponder(remoteIpEndPoint, port);
            //udpResponse.sendGUID(guid);
        }