Пример #1
0
        public void SendMessageForLua(ByteBuffer buffer, int ProtocolId)
        {
            if (buffer == null)
            {
                return;
            }
            NetworkBuffer outBuffer = new NetworkBuffer(NetworkParameters._MAX_SEND_BUFFER_SIZE, true);

            outBuffer.WriteInt32(ProtocolId);

            ByteBuffer buf = new ByteBuffer(buffer.ToBytes());

            byte[] bs = buf.ReadBytes();//这种方式会吧头部多余的一个Int值省略掉
            outBuffer.WriteBytes(bs, 0, bs.Length);

            int readableByteLength = outBuffer.ReadableBytes;

            byte[] readableBytes = outBuffer.ReadBytes(0, readableByteLength);

            connection._Send(readableBytes, 0, readableByteLength);
        }