我将编写一个Linux客户端,它将与五个(左右)服务器建立套接字连接。客户端将向每个人发送一个“line”(一个字符串后跟“\n”),并从每个人那里收到一条回复。
我想在客户端使用select()或epoll();但是,这是基于 TCP 和基于流的,当select()弹出时,我不能保证系统缓冲区中有整个“行” 。我正在寻找的是一个提供类似于epoll()和sysread()的 API 的库,但它的工作基础是整行数据被缓冲并准备好读取。
我很惊讶在我的互联网搜索中找不到这样的东西——我原以为这是一个相当普遍的需求。(也许我没有正确地表达这个问题。)写起来似乎不太难,但我怀疑开源解决方案会更防弹。