gpt4 book ai didi

c++ - Boost::asio udp socket - 我应该如何使用 API 来允许取消读取?

转载 作者:行者123 更新时间:2023-11-30 04:36:07 26 4
gpt4 key购买 nike

我正在使用 boost::asio::ip::udp::socket 进行通信。我使用 socket.receive_from(...) 从客户端接收消息。这目前工作正常,但我希望能够关闭我的服务器。现在我在 while 循环中调用 receive_from,这取决于我可以设置的 bool 条件。但是,如果我不能强制线程定期或在特定调用时退出 receive_from,这将毫无用处。

这可能吗?我试过谷歌搜索,但没有找到明确的答案。我试过使用 socket.cancel() 但这似乎没有效果。

我是否以正确的方式使用 socket ?

最佳答案

使用同步 receive_from 方法没有很好的方法来做你想做的事情。如果您需要超时和可取消性,您应该使用异步 async_receive_from 方法。有一个 ticket在 Boost.Asio trac 网站上对此进行了描述。

我回答了一个similar question最近,您可能会发现它也很有用。

关于c++ - Boost::asio udp socket - 我应该如何使用 API 来允许取消读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4775157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com