コード例 #1
0
        internal static EngineIOPacket Decode(byte[] RawData)
        {
            try
            {
                Queue <byte>   BufferQueue = new Queue <byte>(RawData);
                EngineIOPacket Packet      = new EngineIOPacket()
                {
                    Type     = (EngineIOPacketType)BufferQueue.Dequeue(),
                    IsText   = false,
                    IsBinary = true,
                };

                if (BufferQueue.Count > 0)
                {
                    Packet.RawData = BufferQueue.ToArray();
                    Packet.Data    = BitConverter.ToString(Packet.RawData);
                }

                return(Packet);
            }
            catch (Exception Exception)
            {
                EngineIOLogger.Error("Packet decoding failed. " + RawData != null ? BitConverter.ToString(RawData) : string.Empty, Exception);

                return(CreateErrorPacket(Exception));
            }
        }
コード例 #2
0
        internal static EngineIOPacket Decode(string Data)
        {
            try
            {
                EngineIOPacket Packet = new EngineIOPacket()
                {
                    Type     = (EngineIOPacketType)Data[0] - '0',
                    IsText   = true,
                    IsBinary = false,
                };

                if (Data.Length > 1)
                {
                    Packet.Data    = Data.Substring(1);
                    Packet.RawData = Encoding.UTF8.GetBytes(Packet.Data);
                }

                return(Packet);
            }
            catch (Exception Exception)
            {
                EngineIOLogger.Error("Packet decoding failed. " + Data, Exception);

                return(CreateErrorPacket(Exception));
            }
        }