相关疑难解决方法(0)

处理来自recv()TCP的部分返回

我一直在阅读Beej的网络编程指南,以了解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);
Run Code Online (Sandbox Code Playgroud)

我将缓冲区设置为小于我发送的总字节数.我不太确定如何获得其他字节.在recv()收到之前我是否必须循环'\0'

*在服务器端注意我也在实现他的sendall()功能,所以它应该实际上是将所有内容发送到客户端.

另见6.1.指南中的简单流服务器.

c c++ sockets tcp

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

c++ ×1

sockets ×1

tcp ×1