/// <summary> /// 设置网络消息码 /// </summary> /// <param name="codeId"></param> public void SetNetCode(ushort codeId) { if (buffer != null) { buffer.Release(); } buffer = DogBuffer.GetFromPool32K(); // 先预留2位用于存放消息id buffer.Length = ReceiveQueue.PacketLengthSize; Write(codeId); }
/// <summary> /// 关闭连接 /// </summary> public void Close() { SendEventArgs.Completed -= OnSendCompleted; ReceiveEventArgs.Completed -= OnRecvCompleted; ConnectEventArgs.Completed -= OnConnectCompleted; CloseSocket(); if (RecvBuffer != null) { RecvBuffer.Release(); } SendEventArgs = null; ReceiveEventArgs = null; ConnectEventArgs = null; if (m_PendingBuffer.Count > 0) { foreach (var buff in m_PendingBuffer) { buff.Release(); } m_PendingBuffer.Clear(); } }