diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index 28d3de4..7b6952f 100644 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -8,6 +8,11 @@ message SS_CMPing { } +message SS_SMPing +{ + optional int32 param1 = 1; optional int32 source = 2 [default = 0]; //0:tcp 1:udp +} + message SS_CMLogin_CMReConnect_CommonHead { optional int32 server_id = 1; diff --git a/server/wsproxy/downstream.cc b/server/wsproxy/downstream.cc index 868a806..f3aab6e 100644 --- a/server/wsproxy/downstream.cc +++ b/server/wsproxy/downstream.cc @@ -57,11 +57,15 @@ void DownStream::OnClose() void DownStream::ProcCMMsg(f8::MsgHdr& hdr, int tag) { - if (hdr.msgid == ss::_SS_CMPing && IsLongSession() && tag == ST_Tcp) { + if (hdr.msgid == ss::_SS_CMPing) { ss::SS_Ping msg; - GCListener::Instance()->SendMsgEx(socket_handle_, ss::_SS_CMPing, msg); - if (!long_session_wp_.expired()) { - long_session_wp_.lock()->UpdatePing(); + if (IsLongSession() && tag == ST_Tcp) { + GCListener::Instance()->SendMsgEx(socket_handle_, ss::_SS_CMPing, msg); + if (!long_session_wp_.expired()) { + long_session_wp_.lock()->UpdatePing(); + } + } else { + } return; }