public void ProcessBytes(Session _Session, ref JArray _Data)
        {
            try
            {
                IncomingPacket IncomingPacket = new IncomingPacket(_Data);

                if (IncomingEvents.ContainsKey(IncomingPacket.opcode))
                {
                    IIncomingPacketEvent Event = IncomingEvents[IncomingPacket.opcode];

                    if (_Session != null)
                    {
                        Event.Invoke(_Session, IncomingPacket);
                    }
                }
                else
                {
                    LogConsole.Show(LogType.ERROR, "[Opcode]: {0}", (ClientOpcode)IncomingPacket.opcode);
                }
            }
            catch (Exception e)
            {
                LogConsole.Show(LogType.DEBUG, "[ProcessByte]: {0}", e.Message);
            }
        }
 public int GetHeader(IIncomingPacketEvent _Event)
 {
     using (DictionaryAdapter <string, int> DA = new DictionaryAdapter <string, int>(IncomingEventsInfo))
     {
         return(DA.TryPopValue(_Event.GetType().Name));
     }
 }
Пример #3
0
        public void ProcessBytes(Session _Session, ref byte[] _Bytes)
        {
            try
            {
                string Data = Encoding.Default.GetString(_Bytes);

                if (Data.Contains("<policy-file-request/>"))
                {
                    System.IOStreamer.AppendIncomingPacketLog("Policy file request", _Session.ID);
                    _Session.Send("<?xml version=\"1.0\"?>\r\n" +
                                  "<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">\r\n" +
                                  "<cross-domain-policy>\r\n" +
                                  "<allow-access-from domain=\"*\" to-ports=\"*\" />\r\n" +
                                  "</cross-domain-policy>\x0");
                }
                else
                {
                    System.IOStreamer.AppendIncomingPacketLog(Data, _Session.ID);
                    IncomingPacket IncomingPacket = new IncomingPacket(Data);

                    if (IncomingEvents.ContainsKey(IncomingPacket.Header))
                    {
                        IIncomingPacketEvent Event = IncomingEvents[IncomingPacket.Header];

                        if (_Session != null)
                        {
                            Event.Invoke(_Session, IncomingPacket);
                        }
                    }
                    else
                    {
                        System.IOStreamer.AppendError("[ProcessBytes] " + IncomingPacket.Header + " not found.");
                    }
                }
            }
            catch (Exception e)
            {
                System.IOStreamer.AppendError("[ProcessBytes] " + e.Message);
            }
        }
Пример #4
0
 public int GetHeader(IIncomingPacketEvent _Event)
 {
     using (DictionaryAdapter<string, int> DA = new DictionaryAdapter<string, int>(IncomingEventsInfo))
     {
         return DA.TryPopValue(_Event.GetType().Name);
     }
 }