【发布时间】:2010-11-26 01:08:52
【问题描述】:
我一直在阅读 Beej's Guide to Network Programming 以了解 TCP 连接。在其中一个示例中,简单 TCP 流客户端的客户端代码如下所示:
if ((numbytes = recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
printf("Client: received '%s'\n", buf);
close(sockfd);
我已将缓冲区设置为小于我发送的总字节数。我不太确定如何获得其他字节。在收到'\0' 之前,我是否必须遍历recv()?
*注意在服务器端我也在实现他的sendall() 函数,所以它实际上应该将所有内容发送到客户端。
另请参阅指南中的 6.1. A Simple Stream Server。
【问题讨论】: