public unsafe void FinishWrite() { //设置当前消息包的长度 _curChunk->DataLength = (ushort)(MessageChunk.PayloadDataSize - (_maxDataPtr - _curDataPtr)); //将当前消息包标为完整消息结束 _curChunk->Flag |= (byte)MessageFlag.LastChunk; //如果在消息队列内直接发送 if (_queue != null) { _queue.PostMessageChunk(_curChunk); _queue = null; //注意重置 } }
public void StopReceive() { //使用发送特定消息的方式通知接收Loop停止 unsafe { MessageChunk *chunk = _receiveQueue.GetMessageChunkForWrite(); chunk->Type = 255; chunk->DataLength = 0; _receiveQueue.PostMessageChunk(chunk); } }