1
This commit is contained in:
parent
579efb2289
commit
bd30c666bf
@ -342,11 +342,31 @@ namespace f8
|
||||
return sizeof(WSProxyPackHead_S) + packlen;
|
||||
}
|
||||
|
||||
int Net_SendProxyMsg(a8::TcpListener* tcp_tlistener, int socket_handle,
|
||||
int Net_SendProxyMsg(a8::TcpListener* tcp_listener, int socket_handle,
|
||||
unsigned int seqid, unsigned short error_code,
|
||||
unsigned short msgid, const std::string& data)
|
||||
{
|
||||
unsigned short parent_socket_handle = (socket_handle >> 16) & 0xFFFF;
|
||||
unsigned short child_socket_handle = socket_handle & 0xFFFF;
|
||||
|
||||
int packlen = data.size();
|
||||
|
||||
char* buff = (char*)malloc(sizeof(WSProxyPackHead_S) + packlen);
|
||||
WSProxyPackHead_S* head = (WSProxyPackHead_S*)buff;
|
||||
head->packlen = packlen;
|
||||
head->msgid = msgid;
|
||||
head->seqid = seqid;
|
||||
head->magic_code = MAGIC_CODE;
|
||||
head->rpc_error_code = error_code;
|
||||
head->socket_handle = child_socket_handle;
|
||||
head->ext_len = packlen >> 16;
|
||||
|
||||
if (data.size() > 0) {
|
||||
memcpy(buff + sizeof(WSProxyPackHead_S), data.data(), data.size());
|
||||
}
|
||||
tcp_listener->SendClientMsg(parent_socket_handle, buff, sizeof(WSProxyPackHead_S) + packlen);
|
||||
free(buff);
|
||||
return sizeof(WSProxyPackHead_S) + packlen;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user