Ejemplo n.º 1
0
        void RecvNetworkData()
        {
            if (platform.RecvPoll(1))
            {
                int         byteReceived = 0;
                UdpEndPoint ep           = UdpEndPoint.Any;

                if (platform.RecvFrom(receiveBuffer, receiveBuffer.Length, ref byteReceived, ref ep))
                {
#if DEBUG
                    if (random.NextDouble() < Config.SimulatedLoss)
                    {
                        UdpLog.Info("simulated loss of packet from {0}", ep.ToString());
                        return;
                    }
#endif
                    UdpConnection cn;

                    if (connLookup.TryGetValue(ep, out cn))
                    {
                        cn.OnPacket(new UdpBitStream(receiveBuffer, byteReceived));
                    }
                    else
                    {
                        RecvUnconnectedPacket(new UdpBitStream(receiveBuffer, byteReceived), ep);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        void RecvNetworkData()
        {
            if (platform.RecvPoll(1))
            {
                int         bytes  = 0;
                UdpEndPoint ep     = UdpEndPoint.Any;
                UdpStream   stream = GetReadStream();

                if (platform.RecvFrom(stream.Data, stream.Data.Length, ref bytes, ref ep))
                {
                    //UdpLog.Debug("received packet from {0}", ep.ToString());

#if DEBUG
                    if (ShouldDropPacket)
                    {
                        return;
                    }

                    if (ShouldDelayPacket)
                    {
                        DelayPacket(ep, stream.Data, bytes);
                        return;
                    }
#endif

                    RecvNetworkPacket(ep, stream, bytes);
                }
            }
        }
Ejemplo n.º 3
0
        void RecvNetworkData()
        {
            if (platform.RecvPoll(1))
            {
                int         bytes  = 0;
                UdpEndPoint ep     = UdpEndPoint.Any;
                UdpStream   stream = GetReadStream();

                if (platform.RecvFrom(stream.Data, stream.Data.Length, ref bytes, ref ep))
                {
#if DEBUG
                    if (ShouldDropPacket)
                    {
                        return;
                    }

                    if (ShouldDelayPacket)
                    {
                        DelayPacket(ep, stream.Data, bytes);
                        return;
                    }
#endif

                    RecvNetworkPacket(ep, stream, bytes);
                }
            }
        }