gpt4 book ai didi

linux - 用于非阻塞、面向行的套接字 I/O 的 C++ 库?

转载 作者:太空狗 更新时间:2023-10-29 11:15:22 25 4
gpt4 key购买 nike

我将编写一个 Linux 客户端,它将与五个(或更多)服务器建立套接字连接。客户端将向每个人发送一个“行”(一个字符串后跟“\n”),并将从每个人收到一条返回的行。

我想在客户端使用select()epoll();但是,这是基于 TCP 和流的,当 select() 弹出时,我不能保证在系统缓冲区中有一整行。我正在寻找的是一个库,它提供类似于 epoll()sysread() 的 API,但在整个 的基础上工作strong> 的数据正在缓冲并准备好读取。

我很惊讶在我的 Internet 搜索中找不到这样的东西 - 我本以为这是一个相当普遍的需求。 (也许我对问题的措辞不正确。)编写起来似乎并不太难,但我怀疑开源解决方案会更安全。

最佳答案

看看 boost asio .特别是它有一个 async_read_until功能

Start an asynchronous operation to read data into a streambuf until it contains a delimiter, matches a regular expression, or a function object indicates a match.

如果您使用的是 http,我还建议 cpp-netlib支持 asynchronous clients .

关于linux - 用于非阻塞、面向行的套接字 I/O 的 C++ 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14543042/

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