c – boost.asio的socket的接收/发送功能不好?

前端之家收集整理的这篇文章主要介绍了c – boost.asio的socket的接收/发送功能不好?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Data may be read from or written to a
connected TCP socket using the
receive(),async_receive(),send() or
async_send() member functions.
However,as these could result in
short writes or reads,an application
will typically use the following
operations instead: read(),
async_read(),write() and
async_write().

我真的不明白这句话因为read(),async_read(),write()和async_write()也可能以短写或读取结束,对吧?
为什么这些功能不一样?
我应该使用它们吗?
有人可以为我澄清这句话吗?

解决方法

read,async_read,write和async_write是由函数组成的函数,它们多次调用函数,直到发送所请求的字节数.为方便起见,图书馆将其包含在内.否则,每个开发人员都需要实现相同的逻辑.

函数直接包装底层的OS函数,这基本上在文档中说明:这些函数可能在所有字节传输之前返回.

在大多数情况下,您应该使用免费(组合)函数来传输数据.

猜你在找的C&C++相关文章