我有一个与 telnet 客户端连接的服务器应用程序(即 telnet localhost _port_num - 这里的端口号与服务器应用程序相关联),
我的应用程序工作正常,但问题是我使用了 recv 如下:
#define BUFLEN 512
char buf[BUFLEN];
iResult = recv(sd, (char *)buf, BUFLEN, 0);
此处,只要在连接的 telnet 终端上按下任何字符,recv 调用就会返回,并且大多数情况下 iResult 是1
或某些时候2
,即使我不会按 enter telnet 客户端也会将包含单个字符的帧发送到服务器应用程序。
如何确保在 BUFLEN 读取后 recv 应该返回?如果 linux recv 按预期工作,获取块直到enter
.
非常感谢任何帮助或指示。