1
This commit is contained in:
parent
646ec15f5a
commit
a68691dc1f
@ -1,4 +1,4 @@
|
||||
#include <a8/a8.h>
|
||||
#include "precompile.h"
|
||||
|
||||
#include "framework/cpp/protoutils.h"
|
||||
|
||||
@ -38,11 +38,18 @@ namespace f8
|
||||
return 0;
|
||||
}
|
||||
std::string msgid_enum_name;
|
||||
#ifdef MATCHVS
|
||||
if (msgname[0] == 'C' && msgname[1] == 'M') {
|
||||
msgid_enum_name = "kingsomevs.CMMessageId_e";
|
||||
} else if (msgname[0] == 'S' && msgname[1] == 'M') {
|
||||
msgid_enum_name = "kingsomevs.SMMessageId_e";
|
||||
#else
|
||||
if (msgname[0] == 'C' && msgname[1] == 'M') {
|
||||
msgid_enum_name = "cs.CMMessageId_e";
|
||||
} else if (msgname[0] == 'S' && msgname[1] == 'M') {
|
||||
msgid_enum_name = "cs.SMMessageId_e";
|
||||
} else if (msgname[0] == 'S' && msgname[1] == 'S') {
|
||||
#endif
|
||||
msgid_enum_name = "ss.SSMessageId_e";
|
||||
} else {
|
||||
assert(false);
|
||||
@ -78,6 +85,19 @@ namespace f8
|
||||
msg.SerializeToArray(buff + sizeof(PackHead), packlen);
|
||||
}
|
||||
|
||||
void Net_PackMsgOld(unsigned short msgid, ::google::protobuf::Message& msg, std::string& out)
|
||||
{
|
||||
int packlen = msg.ByteSize();
|
||||
|
||||
out.resize(sizeof(PackHeadOld) + packlen);
|
||||
char* buff = (char*)out.data();
|
||||
PackHeadOld* head = (PackHeadOld*)buff;
|
||||
head->packlen = packlen;
|
||||
head->msgid = msgid;
|
||||
head->magiccode = MAGIC_CODE;
|
||||
msg.SerializeToArray(buff + sizeof(PackHeadOld), packlen);
|
||||
}
|
||||
|
||||
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned seqid, unsigned short msgid,
|
||||
::google::protobuf::Message& msg)
|
||||
{
|
||||
@ -151,6 +171,22 @@ namespace f8
|
||||
return sizeof(PackHead) + packlen;
|
||||
}
|
||||
|
||||
int Net_SendMsgOld(a8::TcpListener* tcp_listener, unsigned short socket_handle, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||
{
|
||||
int packlen = msg.ByteSize();
|
||||
|
||||
char* buff = (char*)malloc(sizeof(PackHeadOld) + packlen);
|
||||
PackHeadOld* head = (PackHeadOld*)buff;
|
||||
head->packlen = packlen;
|
||||
head->msgid = msgid;
|
||||
head->magiccode = MAGIC_CODE;
|
||||
msg.SerializeToArray(buff + sizeof(PackHeadOld), packlen);
|
||||
tcp_listener->SendClientMsg(socket_handle, buff, sizeof(PackHeadOld) + packlen);
|
||||
free(buff);
|
||||
return sizeof(PackHeadOld) + packlen;
|
||||
}
|
||||
|
||||
int Net_SendBigMsg(a8::TcpListener* tcp_listener, unsigned short socket_handle, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||
{
|
||||
|
@ -18,6 +18,14 @@ namespace a8
|
||||
|
||||
namespace f8
|
||||
{
|
||||
//老消息头部(matchvs)
|
||||
struct PackHeadOld
|
||||
{
|
||||
unsigned short packlen;
|
||||
unsigned short msgid;
|
||||
unsigned int magiccode;
|
||||
};
|
||||
|
||||
//普通消息头部
|
||||
struct PackHead
|
||||
{
|
||||
@ -88,11 +96,16 @@ namespace f8
|
||||
MsgHdr* Clone();
|
||||
};
|
||||
|
||||
#ifdef MATCHVS
|
||||
const unsigned int MAGIC_CODE = 0xAABBCCAA;
|
||||
#else
|
||||
const unsigned short MAGIC_CODE = (((unsigned short)'S') << 8) | ((unsigned short)'K');
|
||||
#endif
|
||||
|
||||
int Net_GetMessageId(::google::protobuf::Message& msg);
|
||||
|
||||
void Net_PackMsg(unsigned short msgid, ::google::protobuf::Message& msg, std::string& out);
|
||||
void Net_PackMsgOld(unsigned short msgid, ::google::protobuf::Message& msg, std::string& out);
|
||||
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||
int Net_SendMsg(a8::TcpClient2* tcp_client, unsigned int seqid,
|
||||
@ -103,6 +116,8 @@ namespace f8
|
||||
const char* msgbody, int msgbody_len);
|
||||
int Net_SendMsg(a8::TcpListener* tcp_tlistener, unsigned short socket_handle, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||
int Net_SendMsgOld(a8::TcpListener* tcp_tlistener, unsigned short socket_handle, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||
int Net_SendBigMsg(a8::TcpListener* tcp_tlistener, unsigned short socket_handle, unsigned int seqid,
|
||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||
int Net_BroadcastMsg(a8::TcpListener* tcp_tlistener, unsigned int seqid,
|
||||
|
Loading…
x
Reference in New Issue
Block a user