Ejemplo n.º 1
0
        public void UDPLoop()
        {
            Packet lastPacket;
            int    lastavail;

            while (connected)
            {
                //Receive
                if ((lastavail = udp.Available) > 0)
                {
                    lastPacket      = new Packet();
                    lastPacket.data = new byte[lastavail];
                    udp.Receive(lastPacket.data);
                    OnReceive(lastPacket.data);
                }

                if (cidinit)
                {
                    //Send
                    while (UDPout.Count > 0)
                    {
                        if (UDPout.TryDequeue(out lastPacket))
                        {
                            udp.SendBufferSize = lastPacket.data.Length;
                            udp.SendTo(lastPacket.data, serverUDPep);
                        }
                    }
                }
            }
        }