如何让客户端的主机名通过asio库连接到异步UDP服务器?

时间:2018-03-14 23:24:59

标签: c++ boost-asio

我正在使用asio库编写异步UDP服务器。我想获得连接到我的服务器的那些UDP客户端的主机名。我怎么能这样做?另外,是否有可能获得UDP客户端的主机名而无需反向DNS解析它就像java库guava inetaddress一样?

class udp_server
{
asio::ip::udp::socket socket;
asio::ip::udp::endpoint remote_endpoint;
std::array<std::uint8_t,16384> buffer;
sqlite::sqlite db;
void start()
{
    socket.async_receive_from(asio::buffer(buffer),remote_endpoint,[this](const std::error_code& error,std::size_t bytes)
    {
        start();
    });
}
public:
udp_server(asio::io_service& io_service,unsigned long port,const char* dbpath):socket(io_service,asio::ip::udp::endpoint(asio::ip::udp::v4(),port)),db(dbpath)
{
    start();
}
};

如何获取此remote_endpoint的主机名?谢谢! 抱歉我的英语不好。

0 个答案:

没有答案