public override EventPackageInfo ResolvePackage(IBufferStream bufferStream)
        {
            //log4j.Debug("bufferStream.Length: " + bufferStream.Length);
            //log4j.Debug("headerSize: " + this.HeaderSize);
            //log4j.Debug("bodySize: " + ((int)bufferStream.Length - this.HeaderSize));
            //int key1 = bufferStream.Skip(4).ReadByte();
            //int key2 = bufferStream.ReadByte();
            //int key = key2 << 8 | key1;
            //int subKey1 = bufferStream.ReadByte();
            //int subKey2 = bufferStream.ReadByte();
            //int subKey = subKey2 << 8 | subKey1;
            EventPackageInfo ev = new EventPackageInfo(0, 0, "");

            try
            {
                int key    = bufferStream.Skip(4).ReadUInt16(true); // why read little indian??
                int subKey = bufferStream.ReadUInt16(true);

                //log4j.Debug(string.Format("key: {0}, subKey: {1}", key, subKey));

                string body = bufferStream.ReadString((int)bufferStream.Length - this.HeaderSize, Encoding.UTF8);
                ev = new EventPackageInfo(key, subKey, body);
            }
            catch (Exception ex)
            {
                log4j.Error("ResolvePackage: ", ex);
            }
            return(ev);
        }
Ejemplo n.º 2
0
 private void EventServer_NewRequestReceived(EventSession session, EventPackageInfo requestInfo)
 {
     log4j.Info($"sID: {session.SessionID}, k: {requestInfo.MainKey}, sk: {requestInfo.SubKey}, b: {requestInfo.Body}");
     if (requestInfo.MainKey == 1 && requestInfo.SubKey == 2)
     {
         Task.Run(() =>
         {
             TestSendAlot(session);
         });
     }
 }
        protected override EventPackageInfo ResolveRequestInfo(ArraySegment <byte> header, byte[] bodyBuffer, int offset, int length)
        {
            EventPackageInfo ev = new EventPackageInfo(0, 0, "");

            try
            {
                //byte[] headers = header.ToArray();
                int    key    = BitConverter.ToUInt16(header.Array, header.Offset + 4);
                int    subKey = BitConverter.ToUInt16(header.Array, header.Offset + 6);
                string body   = Encoding.UTF8.GetString(bodyBuffer, offset, length);
                ev = new EventPackageInfo(key, subKey, body);
            }
            catch (Exception ex)
            {
                log4j.Error("ResolvePackage: ", ex);
            }
            return(ev);
        }
Ejemplo n.º 4
0
 protected override void HandleUnknownRequest(EventPackageInfo requestInfo)
 {
     log4j.Info($"unknow request k: {requestInfo.MainKey}, sk: {requestInfo.SubKey}, b: {requestInfo.Body}");
 }