1
This commit is contained in:
parent
4185df5829
commit
4a6cc07ed5
@ -126,3 +126,9 @@ void IMListener::MarkClient(unsigned short sockhandle, bool is_active)
|
||||
{
|
||||
tcp_listener_->MarkClient(sockhandle, is_active);
|
||||
}
|
||||
|
||||
void IMListener::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg)
|
||||
{
|
||||
ss::SS_Pong pongmsg;
|
||||
SendMsg(hdr.socket_handle, pongmsg);
|
||||
}
|
||||
|
@ -6,6 +6,11 @@ namespace a8
|
||||
class TcpListener;
|
||||
}
|
||||
|
||||
namespace ss
|
||||
{
|
||||
class SS_Ping;
|
||||
}
|
||||
|
||||
class IMListener : public a8::Singleton<IMListener>
|
||||
{
|
||||
private:
|
||||
@ -34,6 +39,7 @@ class IMListener : public a8::Singleton<IMListener>
|
||||
long long GetSendNodeNum();
|
||||
long long GetSentBytesNum();
|
||||
|
||||
void _SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg);
|
||||
private:
|
||||
a8::TcpListener *tcp_listener_ = nullptr;
|
||||
};
|
||||
|
@ -112,5 +112,6 @@ void WSListener::MarkClient(unsigned short sockhandle, bool is_active)
|
||||
|
||||
void WSListener::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg)
|
||||
{
|
||||
|
||||
ss::SS_Pong pongmsg;
|
||||
SendProxyMsg(hdr.socket_handle, pongmsg);
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "framework/cpp/netmsghandler.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "IMListener.h"
|
||||
#include "WSListener.h"
|
||||
#include "jsondatamgr.h"
|
||||
#include "handlermgr.h"
|
||||
@ -124,6 +125,7 @@ bool App::Init(int argc, char* argv[])
|
||||
IMConnMgr::Instance()->Init();
|
||||
MSConnMgr::Instance()->Init();
|
||||
WSListener::Instance()->Init();
|
||||
IMListener::Instance()->Init();
|
||||
PlayerMgr::Instance()->Init();
|
||||
|
||||
a8::UdpLog::Instance()->Info("friend_imserver starting instance_id:%d pid:%d ",
|
||||
@ -172,6 +174,7 @@ void App::UnInit()
|
||||
{
|
||||
a8::XPrintf("friend_imserver terminating instance_id:%d pid:%d\n", {instance_id, getpid()});
|
||||
PlayerMgr::Instance()->UnInit();
|
||||
IMListener::Instance()->UnInit();
|
||||
WSListener::Instance()->UnInit();
|
||||
IMConnMgr::Instance()->UnInit();
|
||||
MSConnMgr::Instance()->UnInit();
|
||||
@ -356,7 +359,7 @@ void App::DispatchMsg()
|
||||
break;
|
||||
case SF_IMServer:
|
||||
{
|
||||
|
||||
ProcessIMServerMsg(hdr);
|
||||
}
|
||||
break;
|
||||
case SF_IMConn:
|
||||
@ -417,6 +420,23 @@ void App::ProcessWSProxyMsg(f8::MsgHdr& hdr)
|
||||
}
|
||||
}
|
||||
|
||||
void App::ProcessIMServerMsg(f8::MsgHdr& hdr)
|
||||
{
|
||||
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->immsghandler,
|
||||
hdr.msgid);
|
||||
if (handler) {
|
||||
switch (handler->handlerid) {
|
||||
case HID_IMListener:
|
||||
ProcessNetMsg(handler, IMListener::Instance(), hdr);
|
||||
break;
|
||||
default:
|
||||
{
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void App::ProcessMasterServerMsg(f8::MsgHdr& hdr)
|
||||
{
|
||||
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->msmsghandler,
|
||||
|
@ -43,6 +43,7 @@ private:
|
||||
void ProcessIMMsg();
|
||||
|
||||
void ProcessWSProxyMsg(f8::MsgHdr& hdr);
|
||||
void ProcessIMServerMsg(f8::MsgHdr& hdr);
|
||||
void ProcessMasterServerMsg(f8::MsgHdr& hdr);
|
||||
void ProcessTargetServerMsg(f8::MsgHdr& hdr);
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#include "handlermgr.h"
|
||||
|
||||
#include "IMListener.h"
|
||||
#include "WSListener.h"
|
||||
#include "app.h"
|
||||
#include "player.h"
|
||||
@ -32,6 +33,8 @@ void HandlerMgr::UnInit()
|
||||
|
||||
void HandlerMgr::RegisterNetMsgHandlers()
|
||||
{
|
||||
RegisterNetMsgHandler(&immsghandler, &IMListener::_SS_Ping);
|
||||
|
||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||
|
||||
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);
|
||||
|
@ -23,6 +23,7 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
|
||||
|
||||
f8::NetMsgHandlerObject wsmsghandler;
|
||||
f8::NetMsgHandlerObject msmsghandler;
|
||||
f8::NetMsgHandlerObject immsghandler;
|
||||
|
||||
void ProcGMMsg(unsigned long saddr, int sockhandle,
|
||||
const std::string& url, const std::string& querystr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user