This commit is contained in:
aozhiwei 2020-06-19 14:01:02 +08:00
parent 025340b20a
commit 8235f6016f

View File

@ -1,6 +1,7 @@
#pragma once
#include "framework/cpp/netmsghandler.h"
#include "app.h"
//imserver listener
namespace a8
@ -30,7 +31,29 @@ class IMListener : public a8::Singleton<IMListener>
void SendMsg(int socket_handle, T& msg)
{
static int msgid = f8::Net_GetMessageId(msg);
f8::Net_SendMsg(tcp_listener_, socket_handle, 0, msgid, msg);
if (socket_handle != 0) {
f8::Net_SendMsg(tcp_listener_, socket_handle, 0, msgid, msg);
} else {
int packlen = msg.ByteSize();
char* buff = nullptr;
if (packlen > 0) {
buff = (char*)malloc(packlen);
msg.SerializeToArray(buff, packlen);
}
App::Instance()->AddSocketMsg
(
SF_IMServer,
0,
0,
msgid,
0,
buff,
packlen
);
if (buff) {
free(buff);
}
}
#ifdef DEBUG
f8::DumpMsgToLog(msg, "<<<<<<<IML ");
#endif