我刚刚创建了一个非常简单的C++类,它提供了一些方法,如connect()
和read()
,而不是公开所有Boost.Asio套接字调用。使用Boost.Asio只读字节数量
现在,我试图找出如何创建仅读取所需的字节数量的方法:
SocketClient::read(int bytes, char* data); //reads desired amount of bytes and puts them in data, size of data>bytes!
不幸的是,我发现在Boost.Asio的无read_byte
功能。我不想丢弃已收到但尚未读取的字节。
从文档,这不是明显的数据我不看会发生什么。我**需要**来读取字节数。确切的数字。不多。不低于。如果少了,功能会被阻止。 **当有更多需要时会发生什么?** – 2013-03-14 18:24:36
为什么你不能只用你自己的内部缓冲机制?阅读可用的内容,如果$ bytes字节数可用,则返回那么多字节,否则请阅读更多内容。 – EHuhtala 2013-03-14 18:54:07