public void MsgSecret(ClientSocket c, CSPacketBase msgBase) { RspSecret msgSecret = new RspSecret(); msgSecret.Secret = ServerSocket.SecretKey; Send(c, msgSecret); }
public void SendMsg(CSPacketBase msg) { if (IsConnectedToServer && m_NetworkChannel.Connected) { m_NetworkChannel.Send(msg); } else { Debug.LogError("m_NetworkChannel.Connected:" + m_NetworkChannel.Connected); GameEntry.UI.AddTips("服务器未连接"); ConnectServer(); } }
private bool ProcessPacket(ClientSocket clientSocket) { try { Packet packet = ET_NetworkChannelHelper.DeserializePacket(clientSocket.ReceiveState.PacketHeader, clientSocket.ReceiveState.Stream); if (packet != null) { //分发消息 lsw CSPacketBase cSPacketBase = (CSPacketBase)packet; if (cSPacketBase != null) { clientSocket.OnReciveMsg(cSPacketBase); } else { Debug.LogError("解析失败!"); } //C2R_Login r_Login = ((C2R_Login)packet); //Debug.LogError(r_Login.Account); //Debug.LogError(r_Login.Password); ////m_ReceivePacketPool.Fire(this, packet); } else { Debug.LogError("解析包失败"); } clientSocket.ReceiveState.PrepareForPacketHeader(5 /*m_NetworkChannelHelper.PacketHeaderLength*/); } catch (Exception exception) { Debug.LogError(exception); throw; } return(true); }
public void AddMsgQue(ClientSocket session, CSPacketBase msg) { lock (obj) { msgPackQue.Enqueue(new MsgPack(session, msg)); } }
public MsgPack(ClientSocket session, CSPacketBase msg) { this.session = session; this.msg = msg; }
/// <summary> /// Receive network message /// </summary> public virtual void OnReciveMsg(CSPacketBase msg) { KDCommon.Log("SessionID: " + sessionID + " ===RcvPack CMD:" + ((CMD)msg.Id).ToString()); NetSvc.Instance.AddMsgQue(this, msg); }