private void ProLogout() { Wt_Logout logout = new Wt_Logout(_buffer); OnRaiseMsgRecvEvent(logout.Header.Command_Id, logout, "接收消息:" + logout.ToString()); Close(); }
public bool SendMessageLogout() { Wt_Logout logout = new Wt_Logout(); SendData(logout.ToBytes()); OnRaiseMsgSendEvent(logout.Header.Command_Id, logout, "发送消息:" + logout.ToString()); Close(); return(true); }
/// <summary> /// 客户端主动断开连接(登出)请求 /// </summary> /// <param name="client"></param> /// <param name="buffer"></param> private void ProLogout(CommuTcpClient client, byte[] buffer) { Wt_Logout logout = new Wt_Logout(buffer); OnRaiseMsgRecvEvent(client, logout.ToString()); LogoutResp logoutResp = new LogoutResp(logout.Header.Sequence_Id); client.SendData(logoutResp.ToBytes()); //关闭连接 client.Close("客户端主动发起断开连接"); }
private void OnRaiseMsgSendEvent(byte[] buffer) { if (MsgSendEventHandler != null) { string msg = string.Empty; MessageHeader header = new MessageHeader(buffer); switch (header.Command_Id) { case PXin_COMMAND_TYPE.Login: msg = new Login(buffer).ToString(); break; case PXin_COMMAND_TYPE.LoginResp: msg = new LoginResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.Logout: msg = new Wt_Logout(buffer).ToString(); break; case PXin_COMMAND_TYPE.LogoutResp: msg = new LogoutResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.Active: msg = new Active(buffer).ToString(); break; case PXin_COMMAND_TYPE.ActiveResp: msg = new ActiveResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFee: msg = new ChatFee(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeResp: msg = new ChatFeeResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeePush: msg = new ChatFeePush(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateSet: msg = new ChatFeeRateSet(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateSetResp: msg = new ChatFeeRateSetResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateQuery: msg = new ChatFeeRateQuery(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateQueryResp: msg = new ChatFeeRateQueryResp(buffer).ToString(); break; default: break; } //发布"消息发送"事件 if (header.Command_Id != PXin_COMMAND_TYPE.Active && header.Command_Id != PXin_COMMAND_TYPE.ActiveResp) { MsgSendEventHandler?.Invoke(this, new MessageEventArgs(string.Empty, Identity, msg)); } } }
/// <summary> /// 客户端主动断开连接(登出)请求 /// </summary> /// <param name="messageString"></param> private void ProLogout(string messageString) { Wt_Logout logout = new Wt_Logout(messageString); this.OnDisconnected(true); }