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);
|
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;
|
class TcpListener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace ss
|
||||||
|
{
|
||||||
|
class SS_Ping;
|
||||||
|
}
|
||||||
|
|
||||||
class IMListener : public a8::Singleton<IMListener>
|
class IMListener : public a8::Singleton<IMListener>
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@ -34,6 +39,7 @@ class IMListener : public a8::Singleton<IMListener>
|
|||||||
long long GetSendNodeNum();
|
long long GetSendNodeNum();
|
||||||
long long GetSentBytesNum();
|
long long GetSentBytesNum();
|
||||||
|
|
||||||
|
void _SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg);
|
||||||
private:
|
private:
|
||||||
a8::TcpListener *tcp_listener_ = nullptr;
|
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)
|
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 "framework/cpp/netmsghandler.h"
|
||||||
|
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
|
#include "IMListener.h"
|
||||||
#include "WSListener.h"
|
#include "WSListener.h"
|
||||||
#include "jsondatamgr.h"
|
#include "jsondatamgr.h"
|
||||||
#include "handlermgr.h"
|
#include "handlermgr.h"
|
||||||
@ -124,6 +125,7 @@ bool App::Init(int argc, char* argv[])
|
|||||||
IMConnMgr::Instance()->Init();
|
IMConnMgr::Instance()->Init();
|
||||||
MSConnMgr::Instance()->Init();
|
MSConnMgr::Instance()->Init();
|
||||||
WSListener::Instance()->Init();
|
WSListener::Instance()->Init();
|
||||||
|
IMListener::Instance()->Init();
|
||||||
PlayerMgr::Instance()->Init();
|
PlayerMgr::Instance()->Init();
|
||||||
|
|
||||||
a8::UdpLog::Instance()->Info("friend_imserver starting instance_id:%d pid:%d ",
|
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()});
|
a8::XPrintf("friend_imserver terminating instance_id:%d pid:%d\n", {instance_id, getpid()});
|
||||||
PlayerMgr::Instance()->UnInit();
|
PlayerMgr::Instance()->UnInit();
|
||||||
|
IMListener::Instance()->UnInit();
|
||||||
WSListener::Instance()->UnInit();
|
WSListener::Instance()->UnInit();
|
||||||
IMConnMgr::Instance()->UnInit();
|
IMConnMgr::Instance()->UnInit();
|
||||||
MSConnMgr::Instance()->UnInit();
|
MSConnMgr::Instance()->UnInit();
|
||||||
@ -356,7 +359,7 @@ void App::DispatchMsg()
|
|||||||
break;
|
break;
|
||||||
case SF_IMServer:
|
case SF_IMServer:
|
||||||
{
|
{
|
||||||
|
ProcessIMServerMsg(hdr);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SF_IMConn:
|
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)
|
void App::ProcessMasterServerMsg(f8::MsgHdr& hdr)
|
||||||
{
|
{
|
||||||
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->msmsghandler,
|
f8::NetMsgHandler* handler = f8::GetNetMsgHandler(&HandlerMgr::Instance()->msmsghandler,
|
||||||
|
@ -43,6 +43,7 @@ private:
|
|||||||
void ProcessIMMsg();
|
void ProcessIMMsg();
|
||||||
|
|
||||||
void ProcessWSProxyMsg(f8::MsgHdr& hdr);
|
void ProcessWSProxyMsg(f8::MsgHdr& hdr);
|
||||||
|
void ProcessIMServerMsg(f8::MsgHdr& hdr);
|
||||||
void ProcessMasterServerMsg(f8::MsgHdr& hdr);
|
void ProcessMasterServerMsg(f8::MsgHdr& hdr);
|
||||||
void ProcessTargetServerMsg(f8::MsgHdr& hdr);
|
void ProcessTargetServerMsg(f8::MsgHdr& hdr);
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include "handlermgr.h"
|
#include "handlermgr.h"
|
||||||
|
|
||||||
|
#include "IMListener.h"
|
||||||
#include "WSListener.h"
|
#include "WSListener.h"
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
@ -32,6 +33,8 @@ void HandlerMgr::UnInit()
|
|||||||
|
|
||||||
void HandlerMgr::RegisterNetMsgHandlers()
|
void HandlerMgr::RegisterNetMsgHandlers()
|
||||||
{
|
{
|
||||||
|
RegisterNetMsgHandler(&immsghandler, &IMListener::_SS_Ping);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);
|
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_SS_WSP_SocketDisconnect);
|
||||||
|
@ -23,6 +23,7 @@ class HandlerMgr : public a8::Singleton<HandlerMgr>
|
|||||||
|
|
||||||
f8::NetMsgHandlerObject wsmsghandler;
|
f8::NetMsgHandlerObject wsmsghandler;
|
||||||
f8::NetMsgHandlerObject msmsghandler;
|
f8::NetMsgHandlerObject msmsghandler;
|
||||||
|
f8::NetMsgHandlerObject immsghandler;
|
||||||
|
|
||||||
void ProcGMMsg(unsigned long saddr, int sockhandle,
|
void ProcGMMsg(unsigned long saddr, int sockhandle,
|
||||||
const std::string& url, const std::string& querystr);
|
const std::string& url, const std::string& querystr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user