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