我将编写一个Linux客户端,该客户端将与五个(或更多)服务器建立套接字连接。客户端会向每个服务器发送一条“行”(一个字符串后跟“\n”),并从每个服务器接收一条“行”。
我想在客户端中使用select()或epoll(),但由于TCP和基于流的特性,当select()弹出时,并不能保证系统缓冲区中有整个“行”。我正在寻找一个类似于epoll()和sysread()的库,但它是基于整个数据“行”被缓冲并准备好读取。
我很惊讶在我的互联网搜索中没有找到任何类似的东西 - 我本以为这是一个相当常见的需求。(也许我没有正确表达问题。)写起来似乎不太困难,但我认为开源解决方案会更加可靠。
我想在客户端中使用select()或epoll(),但由于TCP和基于流的特性,当select()弹出时,并不能保证系统缓冲区中有整个“行”。我正在寻找一个类似于epoll()和sysread()的库,但它是基于整个数据“行”被缓冲并准备好读取。
我很惊讶在我的互联网搜索中没有找到任何类似的东西 - 我本以为这是一个相当常见的需求。(也许我没有正确表达问题。)写起来似乎不太困难,但我认为开源解决方案会更加可靠。