gpt4 book ai didi

c++ - boost::asio 阅读问题

转载 作者:搜寻专家 更新时间:2023-10-31 01:56:49 24 4
gpt4 key购买 nike

一般来说,我是网络编程的新手,所以请多多包涵。我在 boost 文档中找不到任何关于此的内容。使用 asio::async_read 时,如果没有数据要从套接字读取(至少,我认为是这样),则会引发文件结束错误。有没有办法实现某种检查来防止这种行为?我想要了解的是:有没有办法等待数据出现,然后读取所述数据并调用处理程序? (如果措辞不当,请指出。我会尽力澄清。)

最佳答案

When using asio::async_read, an end of file error is raised when there is no data to be read from the socket

eof 在套接字的另一端关闭时返回,而不是在没有数据可读时返回。

What I'm trying to get at is: is there any way to wait for data to be present, and then read said data and call the handler?

这称为轮询,这是 asio io_service 为您所做的。您通过启动 async_read 告诉 io_service 您想要从套接字读取数据。它代表您执行读取并在成功或失败时调用完成处理程序。

这可能值得您花时间来 study the differences在 Boost.Asio 提供的异步和同步方法之间。

关于c++ - boost::asio 阅读问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512271/

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