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)); } }
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)); } }