Compare commits

..

No commits in common. "master" and "game1008_banshu" have entirely different histories.

4 changed files with 12 additions and 15 deletions

View File

@ -12,8 +12,6 @@
#include "ss_proto.pb.h" #include "ss_proto.pb.h"
#include "handlermgr.h" #include "handlermgr.h"
const int PACK_MAX = 1024 * 1024 * 10;
class GSClientSession: public a8::MixedSession class GSClientSession: public a8::MixedSession
{ {
public: public:
@ -26,10 +24,10 @@ public:
is_activite = true; is_activite = true;
#endif #endif
bool warning = false; bool warning = false;
while (buflen - offset >= sizeof(f8::BigPackHead)) { while (buflen - offset >= sizeof(f8::PackHead)) {
f8::BigPackHead* p = (f8::BigPackHead*)&buf[offset]; f8::PackHead* p = (f8::PackHead*)&buf[offset];
if (p->magic_code == f8::MAGIC_CODE) { if (p->magic_code == f8::MAGIC_CODE) {
if (buflen - offset < sizeof(f8::BigPackHead) + p->packlen) { if (buflen - offset < sizeof(f8::PackHead) + p->packlen) {
break; break;
} }
App::Instance()->AddSocketMsg(SF_GameServer, App::Instance()->AddSocketMsg(SF_GameServer,
@ -37,9 +35,9 @@ public:
saddr, saddr,
p->msgid, p->msgid,
p->seqid, p->seqid,
&buf[offset + sizeof(f8::BigPackHead)], &buf[offset + sizeof(f8::PackHead)],
p->packlen); p->packlen);
offset += sizeof(f8::BigPackHead) + p->packlen; offset += sizeof(f8::PackHead) + p->packlen;
} else { } else {
warning = true; warning = true;
offset++; offset++;
@ -77,7 +75,6 @@ public:
static void CreateGameClientSocket(a8::TcpSession **p) static void CreateGameClientSocket(a8::TcpSession **p)
{ {
*p = new GSClientSession(); *p = new GSClientSession();
(*p)->SetMaxPacketLen(PACK_MAX);
} }
static void GSListeneron_error(a8::TcpListener*, int type, int errorid) static void GSListeneron_error(a8::TcpListener*, int type, int errorid)
@ -104,18 +101,18 @@ void GSListener::UnInit()
void GSListener::ForwardTargetConnMsg(f8::MsgHdr& hdr) void GSListener::ForwardTargetConnMsg(f8::MsgHdr& hdr)
{ {
char* buff = (char*)malloc(sizeof(f8::BigPackHead) + hdr.buflen); char* buff = (char*)malloc(sizeof(f8::PackHead) + hdr.buflen);
f8::BigPackHead* head = (f8::BigPackHead*)buff; f8::PackHead* head = (f8::PackHead*)buff;
head->packlen = hdr.buflen; head->packlen = hdr.buflen;
head->msgid = hdr.msgid; head->msgid = hdr.msgid;
head->seqid = hdr.seqid; head->seqid = hdr.seqid;
head->magic_code = f8::MAGIC_CODE; head->magic_code = f8::MAGIC_CODE;
head->rpc_error_code = 0; head->rpc_error_code = 0;
if (hdr.buflen > 0) { if (hdr.buflen > 0) {
memmove(buff + sizeof(f8::BigPackHead), hdr.buf, hdr.buflen); memmove(buff + sizeof(f8::PackHead), hdr.buf, hdr.buflen);
} }
tcp_listener_->SendClientMsg(hdr.socket_handle, buff, sizeof(f8::BigPackHead) + head->packlen); tcp_listener_->SendClientMsg(hdr.socket_handle, buff, sizeof(f8::PackHead) + head->packlen);
free(buff); free(buff);
} }

View File

@ -23,7 +23,7 @@ class GSListener : public a8::Singleton<GSListener>
void SendMsg(unsigned short socket_handle, T& msg) void SendMsg(unsigned short socket_handle, T& msg)
{ {
static int msgid = ::f8::Net_GetMessageId(msg); static int msgid = ::f8::Net_GetMessageId(msg);
f8::Net_SendBigMsg(tcp_listener_, socket_handle, 0, msgid, msg); f8::Net_SendMsg(tcp_listener_, socket_handle, 0, msgid, msg);
} }
void ForwardTargetConnMsg(f8::MsgHdr& hdr); void ForwardTargetConnMsg(f8::MsgHdr& hdr);

@ -1 +1 @@
Subproject commit 6e5c873aecdd5464324818307237bca83860e16a Subproject commit bc1e1e002cdfbbac07abdf14151afb0bbd8025a8

@ -1 +1 @@
Subproject commit 628e40d32269414703ba6a74b534593611aa5be8 Subproject commit 18133846b6672634219c080064b7a24720d17588