1
This commit is contained in:
parent
2555f9a628
commit
d69565b450
@ -105,8 +105,11 @@ void GCListener::ForwardTargetConnMsg(MsgHdr& hdr)
|
|||||||
#if 1
|
#if 1
|
||||||
head->rpc_error_code = hdr.ip_saddr;
|
head->rpc_error_code = hdr.ip_saddr;
|
||||||
#endif
|
#endif
|
||||||
|
if (hdr.buflen > 0) {
|
||||||
|
memmove(buff + sizeof(PackHead), hdr.buf, hdr.buflen);
|
||||||
|
}
|
||||||
|
|
||||||
tcp_listener_->SendClientMsg(hdr.socket_handle, buff, sizeof(PackHead*) + head->packlen);
|
tcp_listener_->SendClientMsg(hdr.socket_handle, buff, sizeof(PackHead) + head->packlen);
|
||||||
free(buff);
|
free(buff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,6 +281,7 @@ void App::DispatchMsg()
|
|||||||
MsgNode *pdelnode = work_node_;
|
MsgNode *pdelnode = work_node_;
|
||||||
work_node_ = pdelnode->next;
|
work_node_ = pdelnode->next;
|
||||||
hdr.msgid = pdelnode->msgid;
|
hdr.msgid = pdelnode->msgid;
|
||||||
|
hdr.seqid = pdelnode->seqid;
|
||||||
hdr.socket_handle = pdelnode->sockhandle;
|
hdr.socket_handle = pdelnode->sockhandle;
|
||||||
hdr.buf = pdelnode->buf;
|
hdr.buf = pdelnode->buf;
|
||||||
hdr.buflen = pdelnode->buflen;
|
hdr.buflen = pdelnode->buflen;
|
||||||
@ -347,8 +348,10 @@ void App::ProcessTargetServerMsg(MsgHdr& hdr)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (hdr.msgid == ss::_SS_CMLogin || hdr.msgid == ss::_SS_CMReConnect) {
|
if (hdr.msgid == ss::_SS_CMLogin || hdr.msgid == ss::_SS_CMReConnect) {
|
||||||
|
#if 0
|
||||||
GameClientMgr::Instance()->BindTargetConn(hdr.socket_handle, hdr.ip_saddr);
|
GameClientMgr::Instance()->BindTargetConn(hdr.socket_handle, hdr.ip_saddr);
|
||||||
GCListener::Instance()->MarkClient(hdr.socket_handle, true);
|
GCListener::Instance()->MarkClient(hdr.socket_handle, true);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
GCListener::Instance()->ForwardTargetConnMsg(hdr);
|
GCListener::Instance()->ForwardTargetConnMsg(hdr);
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,11 @@ void TargetConn::ForwardClientMsg(MsgHdr& hdr)
|
|||||||
head->socket_handle = hdr.socket_handle;
|
head->socket_handle = hdr.socket_handle;
|
||||||
head->ip_saddr = hdr.ip_saddr;
|
head->ip_saddr = hdr.ip_saddr;
|
||||||
|
|
||||||
tcp_client_->SendBuff(buff, sizeof(WSProxyPackHead_C*) + head->packlen);
|
if (hdr.buflen > 0) {
|
||||||
|
memmove(buff + sizeof(WSProxyPackHead_C), hdr.buf, hdr.buflen);
|
||||||
|
}
|
||||||
|
|
||||||
|
tcp_client_->SendBuff(buff, sizeof(WSProxyPackHead_C) + head->packlen);
|
||||||
free(buff);
|
free(buff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +123,7 @@ void TargetConn::on_socketread(a8::TcpClient* sender, char* buf, unsigned int le
|
|||||||
|
|
||||||
bool warning = false;
|
bool warning = false;
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
while (recv_bufflen_ - offset > sizeof(WSProxyPackHead_S)) {
|
while (recv_bufflen_ - offset >= sizeof(WSProxyPackHead_S)) {
|
||||||
WSProxyPackHead_S* p = (WSProxyPackHead_S*) &recv_buff_[offset];
|
WSProxyPackHead_S* p = (WSProxyPackHead_S*) &recv_buff_[offset];
|
||||||
if (p->magic_code == MAGIC_CODE) {
|
if (p->magic_code == MAGIC_CODE) {
|
||||||
if (recv_bufflen_ - offset < sizeof(PackHead) + p->packlen) {
|
if (recv_bufflen_ - offset < sizeof(PackHead) + p->packlen) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user