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