/// <summary> /// 消息体:4位msglen(内容长度,非总长度),4位msgid /// </summary> public ByteBuffer Get(MemoryStream _ms, BinaryReader _br) { int _length = IPAddress.NetworkToHostOrder(_br.ReadInt32()); int _msgid = IPAddress.NetworkToHostOrder(_br.ReadInt32()); int _sign = IPAddress.NetworkToHostOrder(_br.ReadInt32()); if (_length > (_ms.Length - _ms.Position)) { _ms.Position -= totalHead; return(null); } ByteBuffer _bf = new ByteBuffer(); _bf.WriteInt(_msgid); _bf.WriteInt(_sign); _bf.WriteBytes(_br.ReadBytes(_length)); return(new ByteBuffer(_bf.ToBytes())); }
static int WriteInt(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); GameFramework.ByteBuffer obj = (GameFramework.ByteBuffer)ToLua.CheckObject <GameFramework.ByteBuffer>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); obj.WriteInt(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }