public override INetCommand GetCommand(INetSession session) { if (readStream == null) { readStream = new MemoryStream(); } else { readStream.SetLength(0); readStream.Position = 0; } Byte[] data = new Byte[2]; while (session.ReadBytes(data, 0, 1)) { if (data[0] == 0x00) { session.ReadBytes(data, 1, 1); if (data[1] == 0x00) { // 获取到整条通讯 break; } else { readStream.Write(data, 0, 2); } } else { readStream.Write(data, 0, 1); } } readStream.Position = 0; return(GetCommand(session, readStream)); }
public virtual bool TryGetCommand(INetSession session) { byte[] tmpData = new byte[1]; return(session.ReadBytes(tmpData, 0, tmpData.Length)); }