// Server
        private void ServerListenerOnReceivedBytes(object sender, ListenerReceivedBytesEventArgs e)
        {
            Logger.Verbose($"ServerListenerOnReceivedBytes({e.Bytes.Length})");

            var bytes = e.Bytes;

            Server.Encryption.ServerRC4?.Parse(bytes);
            Server.PacketProcessor.ParseBytes(bytes);
        }
        // Client
        private void ClientListenerOnReceivedBytes(object sender, ListenerReceivedBytesEventArgs e)
        {
            Logger.Verbose($"ClientListenerOnReceivedBytes({e.Bytes.Length})");

            var bytes = e.Bytes;

            // Policy
            if (bytes.Length == 23 && bytes[0] == 0x3c)
            {
                SendToClientAsync(CrossDomainPolicy.GetPolicyBytes()).GetAwaiter().GetResult();
            }
            else
            {
                Client.Encryption.ServerRC4?.Parse(bytes);
                Client.PacketProcessor.ParseBytes(bytes);
            }
        }
示例#3
0
 private void OnReceivedBytes(ListenerReceivedBytesEventArgs e)
 {
     ReceivedBytes?.Invoke(this, e);
 }