有没有办法取消挂起操作(没有断开连接)或设置升压库函数的超时?
即我想在boost asio中阻止套接字设置超时?
socket.read_some(boost :: asio :: buffer(pData,maxSize),error_);
示例:我想从套接字中读取一些内容,但是如果已经过了10秒,我想抛出一个错误.
检查套接字是否在连接的远程端关闭的最简单方法是什么?socket::is_open()即使它在远程端关闭(我正在使用boost::asio::ip::tcp::socket),它也会返回true .
我可以尝试从流中读取并查看它是否成功,但我必须更改程序的逻辑以使其以这种方式工作(我不希望在检查时从流中提取数据).
我boost::asio用于服务器/客户端应用程序.服务器一次只接受一个连接.我想知道服务器验证客户端是否仍然连接的最佳方法是什么.
这样做的目的是,我希望能够知道客户端是否已崩溃,以便我可以重新开始侦听新的连接尝试.
你能在boost asio中设置SO_RCVTIMEO和SO_SNDTIMEO套接字选项吗?
如果是这样的话?
注意我知道你可以使用计时器,但我想特别了解这些套接字选项.