相关疑难解决方法(0)

如何检查Boost :: asio中的套接字连接是否存在?

我正在使用Boost :: asio来实现客户端/服务器应用程序.下面的客户端代码用于连接远程服务器.

   try
    {
        boost::asio::io_service         m_io_service;
        boost::asio::ip::tcp::socket    m_socket(m_io_service);
        boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 17);
        m_socket.connect(endpoint);
    }
    catch (std::exception& e)
    {
        std::cerr << e.what() << std::endl;
    }
Run Code Online (Sandbox Code Playgroud)

在客户端,我想检查连接是否有效.功能" m_socket.is_open();"不起作用.当服务器套接字关闭时," m_socket.is_open();"仍然在客户端返回true.有没有办法检查连接?

c++ boost boost-asio

8
推荐指数
1
解决办法
1万
查看次数

如何在Boost.Asio中检查套接字是否已关闭?

检查套接字是否在连接的远程端关闭的最简单方法是什么?socket::is_open()即使它在远程端关闭(我正在使用boost::asio::ip::tcp::socket),它也会返回true .

我可以尝试从流中读取并查看它是否成功,但我必须更改程序的逻辑以使其以这种方式工作(我不希望在检查时从流中提取数据).

c++ sockets boost boost-asio

6
推荐指数
3
解决办法
2万
查看次数

标签 统计

boost ×2

boost-asio ×2

c++ ×2

sockets ×1