- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用 boost::asio::read (或者可能是等效的 async_read )从套接字读取一些数据。
我是否可以将读取的字节保留在底层套接字中,以便下次我在套接字上调用读取时再次接收到该数据?
最佳答案
正如 Simon 所说,您不能使用 boost::asio::read()
(或 boost::asio::async_read()
)来完成。但是,对于 read()
,您可以在套接字上调用 native_handle()
以获取套接字描述符,然后使用 ::recvmsg()
MSG_PEEK
标志。同样,您可以调用 async_read()
并将 null_buffers()
作为接收缓冲区,然后使用 native_handle()
/::recvmsg()
技巧来查看数据。查看this section关于如何使用 null_buffers() 的 boost 文档。
关于c++ - boost::asio - 窥视套接字缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135904/
在升级到 Oracle 11g 后,我在优化 Oracle 查询时遇到了问题,这个问题开始让我有点抓狂。 注意,这个问题现在已经被完全编辑过了,因为在创建一个简单的测试用例后我有更多的信息。原始问题可
我正在尝试在支持 iOS 9 的应用程序中执行 Peek 和 Pop。有问题的 View 有一个 UITableView,所以我的代码中有: - (UIViewController *)preview
我不知道如何在 Python 生成器中向前看一个元素。我一看就不见了。 这就是我的意思: gen = iter([1,2,3]) next_value = gen.next() # okay, I
我是一名优秀的程序员,十分优秀!