void AsyncRev(IAsyncResult ar) { int revSize = _socket.EndReceive(ar); if (revSize > 0) { MsgBase msg = ProtoLayer.DecodeMsg(_readBuff); GameEntity.Instance.gNetManager.AddRevMsg(msg); } if (bRev == false) { return; } //继续等待消息 StartMsgRecieve(); }
public void StartMsgSend() { if (bSend) { return; //正在发送 } MsgBase msg = GameEntity.Instance.gNetManager.GetOneSendMsg(); if (msg == null) { bSend = false; } else { bSend = true; byte[] sendData = ProtoLayer.EncodeMsg(msg); _socket.BeginSend(sendData, 0, sendData.Length, SocketFlags.None, AsyncSend, null); } }