Example #1
0
        private void OnReceiveData(IAsyncResult ar)
        {
            var client = ar.AsyncState as PBEServerClient;

            if (client.IsConnected)
            {
                try
                {
                    if (client.Socket.Poll(0, SelectMode.SelectRead) && client.Socket.Available <= 0)
                    {
                        DisconnectClient(client);
                    }
                    else
                    {
                        byte[] data = client.Buffer;
                        if (_encryption != null)
                        {
                            data = _encryption.Decrypt(data);
                        }
                        client.FirePacketReceived(PBEPacketProcessor.CreatePacket(Battle, data));
                        BeginReceive(client);
                    }
                }
                catch (Exception ex)
                {
                    NotifyError(ex);
                    DisconnectClient(client);
                }
            }
        }
Example #2
0
 private void OnReceiveData(IAsyncResult ar)
 {
     if (IsConnected)
     {
         try
         {
             if (_socket.Poll(0, SelectMode.SelectRead) && _socket.Available <= 0)
             {
                 Disconnect(true);
             }
             else
             {
                 byte[] data = _buffer;
                 if (_encryption != null)
                 {
                     data = _encryption.Decrypt(data);
                 }
                 PacketReceived?.Invoke(this, PBEPacketProcessor.CreatePacket(Battle, data));
                 BeginReceive();
             }
         }
         catch (Exception ex)
         {
             NotifyError(ex);
             Disconnect(true);
         }
     }
 }