gpt4 book ai didi

c++ - boost::asio - 窥视套接字缓冲区

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

我使用 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/

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