add SendBigMsg
This commit is contained in:
parent
f66ba1b9a2
commit
dca17a2d72
@ -65,7 +65,8 @@ namespace f8
|
|||||||
msg.SerializeToArray(buff + sizeof(PackHead), packlen);
|
msg.SerializeToArray(buff + sizeof(PackHead), packlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned seqid, unsigned short msgid, ::google::protobuf::Message& msg)
|
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned seqid, unsigned short msgid,
|
||||||
|
::google::protobuf::Message& msg)
|
||||||
{
|
{
|
||||||
int packlen = msg.ByteSize();
|
int packlen = msg.ByteSize();
|
||||||
assert(packlen < 1024 * 60);
|
assert(packlen < 1024 * 60);
|
||||||
@ -83,6 +84,25 @@ namespace f8
|
|||||||
return sizeof(PackHead) + packlen;
|
return sizeof(PackHead) + packlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Net_SendBigMsg(a8::TcpClient* tcp_client, unsigned seqid, unsigned short msgid,
|
||||||
|
::google::protobuf::Message& msg)
|
||||||
|
{
|
||||||
|
int packlen = msg.ByteSize();
|
||||||
|
assert(packlen < 1024 * 60);
|
||||||
|
|
||||||
|
char* buff = (char*)malloc(sizeof(f8::BigPackHead) + packlen);
|
||||||
|
f8::BigPackHead* head = (f8::BigPackHead*)buff;
|
||||||
|
head->packlen = packlen;
|
||||||
|
head->msgid = msgid;
|
||||||
|
head->seqid = seqid;
|
||||||
|
head->magic_code = MAGIC_CODE;
|
||||||
|
head->rpc_error_code = 0;
|
||||||
|
msg.SerializeToArray(buff + sizeof(f8::BigPackHead), packlen);
|
||||||
|
tcp_client->SendBuff(buff, sizeof(f8::BigPackHead) + packlen);
|
||||||
|
free(buff);
|
||||||
|
return sizeof(f8::BigPackHead) + packlen;
|
||||||
|
}
|
||||||
|
|
||||||
int Net_SendMsg(a8::TcpListener* tcp_listener, unsigned short socket_handle, unsigned int seqid,
|
int Net_SendMsg(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)
|
||||||
{
|
{
|
||||||
@ -102,6 +122,25 @@ namespace f8
|
|||||||
return sizeof(PackHead) + packlen;
|
return sizeof(PackHead) + packlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Net_SendBigMsg(a8::TcpListener* tcp_listener, unsigned short socket_handle, unsigned int seqid,
|
||||||
|
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||||
|
{
|
||||||
|
int packlen = msg.ByteSize();
|
||||||
|
assert(packlen < 1024 * 60);
|
||||||
|
|
||||||
|
char* buff = (char*)malloc(sizeof(f8::BigPackHead) + packlen);
|
||||||
|
f8::BigPackHead* head = (f8::BigPackHead*)buff;
|
||||||
|
head->packlen = packlen;
|
||||||
|
head->msgid = msgid;
|
||||||
|
head->seqid = seqid;
|
||||||
|
head->magic_code = MAGIC_CODE;
|
||||||
|
head->rpc_error_code = 0;
|
||||||
|
msg.SerializeToArray(buff + sizeof(f8::BigPackHead), packlen);
|
||||||
|
tcp_listener->SendClientMsg(socket_handle, buff, sizeof(f8::BigPackHead) + packlen);
|
||||||
|
free(buff);
|
||||||
|
return sizeof(f8::BigPackHead) + packlen;
|
||||||
|
}
|
||||||
|
|
||||||
int Net_BroadcastMsg(a8::TcpListener* tcp_listener, unsigned int seqid,
|
int Net_BroadcastMsg(a8::TcpListener* tcp_listener, unsigned int seqid,
|
||||||
unsigned short msgid, ::google::protobuf::Message& msg)
|
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||||
{
|
{
|
||||||
@ -121,6 +160,25 @@ namespace f8
|
|||||||
return sizeof(PackHead) + packlen;
|
return sizeof(PackHead) + packlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Net_BroadcastBigMsg(a8::TcpListener* tcp_listener, unsigned int seqid,
|
||||||
|
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||||
|
{
|
||||||
|
int packlen = msg.ByteSize();
|
||||||
|
assert(packlen < 1024 * 60);
|
||||||
|
|
||||||
|
char* buff = (char*)malloc(sizeof(f8::BigPackHead) + packlen);
|
||||||
|
f8::BigPackHead* head = (f8::BigPackHead*)buff;
|
||||||
|
head->packlen = packlen;
|
||||||
|
head->msgid = msgid;
|
||||||
|
head->seqid = seqid;
|
||||||
|
head->magic_code = MAGIC_CODE;
|
||||||
|
head->rpc_error_code = 0;
|
||||||
|
msg.SerializeToArray(buff + sizeof(f8::BigPackHead), packlen);
|
||||||
|
tcp_listener->BroadcastMsg(buff, sizeof(f8::BigPackHead) + packlen);
|
||||||
|
free(buff);
|
||||||
|
return sizeof(f8::BigPackHead) + packlen;
|
||||||
|
}
|
||||||
|
|
||||||
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short msgid, ::google::protobuf::Message& msg)
|
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short msgid, ::google::protobuf::Message& msg)
|
||||||
{
|
{
|
||||||
int packlen = msg.ByteSize();
|
int packlen = msg.ByteSize();
|
||||||
|
@ -27,6 +27,16 @@ namespace f8
|
|||||||
unsigned short rpc_error_code;
|
unsigned short rpc_error_code;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//大包消息头部
|
||||||
|
struct BigPackHead
|
||||||
|
{
|
||||||
|
int packlen;
|
||||||
|
unsigned short msgid;
|
||||||
|
unsigned int seqid;
|
||||||
|
unsigned short magic_code;
|
||||||
|
unsigned short rpc_error_code;
|
||||||
|
};
|
||||||
|
|
||||||
//转发类消息头部
|
//转发类消息头部
|
||||||
struct ForwardPackHead
|
struct ForwardPackHead
|
||||||
{
|
{
|
||||||
@ -82,12 +92,18 @@ namespace f8
|
|||||||
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);
|
||||||
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_SendBigMsg(a8::TcpClient* tcp_client, unsigned int seqid,
|
||||||
|
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||||
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned int seqid, unsigned short msgid,
|
int Net_SendMsg(a8::TcpClient* tcp_client, unsigned int seqid, unsigned short msgid,
|
||||||
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_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,
|
int Net_BroadcastMsg(a8::TcpListener* tcp_tlistener, unsigned int seqid,
|
||||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||||
|
int Net_BroadcastBigMsg(a8::TcpListener* tcp_tlistener, unsigned int seqid,
|
||||||
|
unsigned short msgid, ::google::protobuf::Message& msg);
|
||||||
|
|
||||||
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short msgid, ::google::protobuf::Message& msg);
|
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short msgid, ::google::protobuf::Message& msg);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user