我试图通过读取来自服务器的消息并相应地发回消息来实现一个简单的协议。我基本上有一个while循环,目前看起来像这样
while(recv(sock, buffer, BUF) > 0 /* more stuff */) {
/* Handle message */
}
然而,这给了我服务器发送的全部消息,直到它完成或达到BUF指定的长度。
能够逐行读取它并且不喜欢这样会容易得多,因为有时服务器会一次发送几行。当然,很容易实现一个在其行中拆分字符串的函数,但我更想要一个函数,我可以用它替换recv(...)给我所有的行。我怎么能意识到这样的事情呢?