Ejemplo n.º 1
0
        public ByteArray signByteStream(ByteArray byteBuffer)
        {
            //* <p>[4字节] 长度
            //* <p>[1字节] 校验码
            //* <p>[1字节] 循环顺序号(从0开始,每次请求+1,不符合则断开; 0,1,2,...,127,-128,-127,...,-1,0,1,...)
            //* <p>[1字节] 模块号
            //* <p>[1字节] 命令号
            //包头长度 8 字节
            //self.netSendPackVStream:writeInt8(packet.req['_MOD_'])
            //self.netSendPackVStream:writeInt8(packet.req['_MED_'])
            //self.netSendPackVStream:writeInt32(0)--预留六字节
            //self.netSendPackVStream:writeInt16(0)
            byte[] data         = byteBuffer.getBuffer();
            int    len          = data.Length;
            byte   module       = byteBuffer.readInt8();
            byte   method       = byteBuffer.readInt8();
            short  validateCode = fnvhash(m_sn, module, method, len);

            ByteArray buf = new ByteArray();

            buf.writeInt32(Endian.SwapInt32(len));
            buf.writeInt8((byte)validateCode);
            buf.writeInt8((byte)m_sn);
            buf.writeInt8(module);
            buf.writeInt8(method);

            byte[] bytes = new byte[len - 8];
            Buffer.BlockCopy(data, 8, bytes, 0, len - 8);
            buf.writeBytes(bytes);

            m_sn++;

            return(buf);
        }
Ejemplo n.º 2
0
	static int readInt8(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 1);
			NetCore.ByteArray obj = (NetCore.ByteArray)ToLua.CheckObject(L, 1, typeof(NetCore.ByteArray));
			byte o = obj.readInt8();
			LuaDLL.lua_pushnumber(L, o);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}
Ejemplo n.º 3
0
 public byte readInt8()
 {
     return(m_pBuffer.readInt8());
 }