RCF-2200 c++ 源码 setOnCallbackConnectionCreated 怎么使用打出客户端的ip和端口给出使用例子
在 RCF-2.2.0.0 的 C++ 源码中,setOnCallbackConnectionCreated 是用于在创建回调连接时触发回调函数的方法。你可以通过该方法来获取客户端的 IP 地址和端口。
以下是使用 setOnCallbackConnectionCreated 的示例代码:
#include <iostream>
#include <RCF/RCF.hpp>
void onCallbackConnectionCreated(const RCF::RcfSessionPtr& session)
{
RCF::RcfSessionPtr clientSession = session->getClientRcfSession();
RCF::IpClientTransportPtr transport = clientSession->getTransport().lock();
if (transport)
{
std::string clientIp = transport->getClientIpAddress();
int clientPort = transport->getClientPort();
std::cout << "Client IP: " << clientIp << std::endl;
std::cout << "Client Port: " << clientPort << std::endl;
}
}
int main()
{
RCF::RcfInitDeinit rcfInit;
RCF::RcfServer server(RCF::TcpEndpoint(50001));
server.setOnCallbackConnectionCreated(onCallbackConnectionCreated);
server.start();
std::cout << "Server started. Press Enter to exit." << std::endl;
std::cin.get();
server.stop();
return 0;
}
在上述示例中,onCallbackConnectionCreated 是回调函数,它接收一个 RCF::RcfSessionPtr 参数,该参数表示刚刚创建的回调连接的 RCF 会话。通过 getClientRcfSession 方法获取客户端的 RCF 会话,然后通过 getTransport 方法获取传输对象,再通过 getClientIpAddress 和 getClientPort 方法获取客户端的 IP 地址和端口。
在 main 函数中,我们创建了一个 RCF 服务器对象,并使用 setOnCallbackConnectionCreated 方法设置回调函数。然后启动服务器并等待用户按下 Enter 键停止服务器。
当客户端创建回调连接时,回调函数将会被调用,并打印出客户端的 IP 地址和端口。
请注意,以上示例仅演示了如何使用 setOnCallbackConnectionCreated 方法获取客户端的 IP 地址和端口。你还需要根据自己的需求来处理这些信息,例如将其保存到日志文件中或进行其他操作。
原文地址: https://www.cveoy.top/t/topic/i11X 著作权归作者所有。请勿转载和采集!