This commit is contained in:
azw 2023-05-05 23:20:20 +00:00
parent ae5c84ae98
commit e8e6a85b8f
2 changed files with 33 additions and 0 deletions

View File

@ -7,6 +7,10 @@
#include <a8/tcpclient.h>
#include <a8/tcplistener.h>
#ifdef USE_ASIO
#include <a8/asiotcpclient.h>
#endif
#include <google/protobuf/message.h>
#include <google/protobuf/descriptor.h>
@ -202,6 +206,32 @@ namespace f8
return sizeof(WSProxyPackHead_C) + packlen;
}
#ifdef USE_ASIO
int Net_SendProxyCMsg(a8::AsioTcpClient* tcp_client, unsigned short socket_handle,
unsigned short msgid, ::google::protobuf::Message& msg)
{
int packlen = msg.ByteSize();
assert(packlen < 1024 * 60);
char* buff = (char*)malloc(sizeof(WSProxyPackHead_C) + packlen);
memset(buff, 0, sizeof(WSProxyPackHead_C));
WSProxyPackHead_C* head = (WSProxyPackHead_C*)buff;
head->packlen = packlen;
head->msgid = msgid;
head->seqid = 0;
head->magic_code = MAGIC_CODE;
head->ip_saddr = 0;
head->socket_handle = socket_handle;
if (packlen > 0) {
msg.SerializeToArray(buff + sizeof(WSProxyPackHead_C), packlen);
}
tcp_client->SendBuff(buff, sizeof(WSProxyPackHead_C) + packlen);
free(buff);
return sizeof(WSProxyPackHead_C) + packlen;
}
#endif
int Net_SendProxyMsg(a8::TcpListener* tcp_listener, int socket_handle,
unsigned int seqid, unsigned short error_code,
unsigned short msgid, ::google::protobuf::Message& msg)

View File

@ -4,6 +4,7 @@ namespace a8
{
class TcpClient;
class TcpListener;
class AsioTcpClient;
}
class Player;
@ -103,6 +104,8 @@ namespace f8
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short socket_handle,
unsigned short msgid, ::google::protobuf::Message& msg);
int Net_SendProxyCMsg(a8::AsioTcpClient* tcp_client, unsigned short socket_handle,
unsigned short msgid, ::google::protobuf::Message& msg);
int Net_SendProxyMsg(a8::TcpListener* tcp_tlistener, int socket_handle,
unsigned int seqid, unsigned short error_code,