2011-06-28 67 views
2

我是一般的网络编程新手,请耐心等待。在boost文档中我找不到任何关于此的信息。当使用asio :: async_read时,当没有数据从套接字读取时(至少,我认为是),会引发文件错误结束。有什么办法来实施某种检查来防止这种行为?我试图得到的是:有没有办法等待数据出现,然后读取所述数据并调用处理程序? (如果这是措辞不当,请告诉我,我会尝试澄清。)boost :: asio阅读烦恼

回答

3

当使用ASIO :: async_read, 文件错误的结束时,有没有从读 数据上升套接字

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

我试图让在是:有 任何方式来等待数据是 目前,然后读取所述数据和 呼叫处理程序?

这就是所谓的轮询,这是什么asio io_service为你做。您通过发起async_read告诉io_service您想要从套接字读取数据。它代表您执行读取操作,并在成功完成或不成功时调用完成处理程序。

Boost.Asio提供的异步和同步方法之间可能值得您花费study the differences

+0

感谢您的快速回答!猜猜这是我的客户端而不是我的服务器的问题。 – chameco