📄 mygateway.cpp
字号:
#include "include/MyGateway.h"
CMyGateway::CMyGateway() : CFramework()
{
}
CMyGateway::~CMyGateway()
{
}
BOOL CMyGateway::OnCreateServer(HOSTSTRUCTS& hosts__)
{
HOSTSTRUCT host;
::memset(&host, 0, sizeof(host));
::sprintf(host.addr, "%s", "127.0.0.1");
::sprintf(host.name, "%s", "A_HOST");
host.port = 6666;
hosts__.put(host);
CFramework::AddApplyHost(host);
return CFramework::OnCreateServer(hosts__);
}
BOOL CMyGateway::OnCreateClient(HOSTSTRUCTS& hosts__)
{
HOSTSTRUCT host;
::memset(&host, 0, sizeof(host));
host.port = 6000;
::sprintf(host.addr, "%s", "127.0.0.1");
::sprintf(host.name, "%s", "B_HOST");
hosts__.put(host);
return CFramework::OnCreateClient(hosts__);
}
BOOL CMyGateway::OnRecvData(const HOSTSTRUCT& host__, xuwn::MESSAGE& msg)
{
msg.size.heads = 4;
msg.size.bodys = 4;
int rc = ::recv(host__.fd, msg.buffer, msg.size.heads, 0);
if (rc == msg.size.heads)
return CFramework::OnRecvData(host__, msg);
else
return FALSE;
}
BOOL CMyGateway::OnConnected(const HOSTSTRUCT& host__)
{
::printf("主机:%s %s请求连接!\n", host__.name, host__.addr);
return TRUE;
}
void CMyGateway::OnExecuteMessage(const xuwn::MESSAGE& message)
{
CFramework::OnExecuteMessage(message);
// 测试用,将收到的消息转发到127.0.0.1:6000端口
HOSTSTRUCT host__;
::memset(&host__, 0, sizeof(host__));
if (0 == CFramework::GetRoute("B_HOST", host__))
{
int rc = ::send(host__.fd, message.buffer, message.size.bodys + message.size.heads, 0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -