1
This commit is contained in:
parent
ae5c84ae98
commit
e8e6a85b8f
@ -7,6 +7,10 @@
|
|||||||
#include <a8/tcpclient.h>
|
#include <a8/tcpclient.h>
|
||||||
#include <a8/tcplistener.h>
|
#include <a8/tcplistener.h>
|
||||||
|
|
||||||
|
#ifdef USE_ASIO
|
||||||
|
#include <a8/asiotcpclient.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <google/protobuf/message.h>
|
#include <google/protobuf/message.h>
|
||||||
#include <google/protobuf/descriptor.h>
|
#include <google/protobuf/descriptor.h>
|
||||||
|
|
||||||
@ -202,6 +206,32 @@ namespace f8
|
|||||||
return sizeof(WSProxyPackHead_C) + packlen;
|
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,
|
int Net_SendProxyMsg(a8::TcpListener* tcp_listener, int socket_handle,
|
||||||
unsigned int seqid, unsigned short error_code,
|
unsigned int seqid, unsigned short error_code,
|
||||||
unsigned short msgid, ::google::protobuf::Message& msg)
|
unsigned short msgid, ::google::protobuf::Message& msg)
|
||||||
|
@ -4,6 +4,7 @@ namespace a8
|
|||||||
{
|
{
|
||||||
class TcpClient;
|
class TcpClient;
|
||||||
class TcpListener;
|
class TcpListener;
|
||||||
|
class AsioTcpClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player;
|
class Player;
|
||||||
@ -103,6 +104,8 @@ namespace f8
|
|||||||
|
|
||||||
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short socket_handle,
|
int Net_SendProxyCMsg(a8::TcpClient* tcp_client, unsigned short socket_handle,
|
||||||
unsigned short msgid, ::google::protobuf::Message& msg);
|
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,
|
int Net_SendProxyMsg(a8::TcpListener* tcp_tlistener, int socket_handle,
|
||||||
unsigned int seqid, unsigned short error_code,
|
unsigned int seqid, unsigned short error_code,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user