예제 #1
0
        async void ReceiverAsync()
        {
            try {
                while (true)
                {
                    if (Debug)
                    {
                        WriteLine($"Waiting for packets on wire ({this})");
                    }
                    var data = await conn.Receive();

                    ForegroundColor  = ConsoleColor.Blue;
                    lastRecvSendTime = Time.Now;

                    if (Debug)
                    {
                        ForegroundColor = ConsoleColor.DarkMagenta;
                        WriteLine($"Received packet ({this})");
                        Hexdump(data);
                        ResetColor();
                    }
                    var packet = new Packet(this, data);
                    if (packet.Valid)
                    {
                        ProcessSessionPacket(packet);
                    }
                }
            } catch (Exception e) {
                WriteLine($"Got exception in receiver thread for {this}");
                WriteLine(e);
                Environment.Exit(0);
            }
        }
예제 #2
0
파일: EQStream.cs 프로젝트: jjrh/OpenEQ
        async Task ReceiverAsync()
        {
            while (true)
            {
                var data = await conn.Receive();

                lastRecvSendTime = Time.Now;

                if (Debug)
                {
                    ForegroundColor = ConsoleColor.DarkMagenta;
                    WriteLine($"Received packet ({this})");
                    Hexdump(data);
                    ResetColor();
                }
                var packet = new Packet(this, data);
                if (packet.Valid)
                {
                    ProcessSessionPacket(packet);
                }
            }
        }
예제 #3
0
        async Task ReceiverAsync()
        {
            while (true && IsConnected)
            {
                var data = await conn.Receive();

                lastRecvSendTime = Time.Now;

                if (Debug)
                {
                    ForegroundColor = ConsoleColor.DarkMagenta;
                    UnityEngine.Debug.Log($"Received packet ({this})");
                    Hexdump(data);
                    ResetColor();
                }
                var packet = new Packet(this, data);
                if (packet.Valid)
                {
                    ProcessSessionPacket(packet);
                }
            }
            UnityEngine.Debug.Log("Ending ReceiverAsync");
        }