Exemple #1
0
        private void Receive()
        {
            while (IsConnected)
            {
                try
                {
                    var buffer = new byte[2048];
                    var len    = _socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);

                    if (len < 1)
                    {
                        break;
                    }

                    var packet = new Packet(buffer);

                    if (_packetHandler != null)
                    {
                        _packetHandler.InvokePacket(this, packet);
                    }

                    PacketReceived.SafeInvoke(this, new PacketEventArgs(packet, PacketEventType.Receive));
                }
                catch (SocketException ex)
                {
                    if (ex.ErrorCode == 10053 || ex.ErrorCode == 10054)
                    {
                        continue;
                    }

                    Logger.Log("NetworkClient Error: {0} Code: {1}", ex.Message, ex.ErrorCode);
                    Logger.Log("NetworkClient Stack: {0}", ex.StackTrace);
                }
                catch (Exception ex)
                {
                    Logger.Log("NetworkClient Error: {0}", ex.Message);
                    Logger.Log("NetworkClient Stack: {0}", ex.StackTrace);
                }
            }
        }