我正在尝试实现一个从/向服务器接收和发送数据的客户端。然而,当发送工作时,接收永远不会,我的程序只挂在那里。
这是我的骨头问题区域,没有任何错误检查。
//send data
char* message = "LIST\n";
write(sockfd, message, 5);
//receive data
int numbytes;
char buf[100];
if ((numbytes = recv(sockfd, buf, 99, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
我甚至尝试过一些疯狂的东西 -
//send data
char* message = "LIST\n";
write(sockfd, message, 5);
//receive data
char* buf = calloc(1, 100);
read(sockfd, buf, 7); //the message I'm supposed to receive is 7 bytes, but I even tried 6 and 8 to account for any nulls etc
这也是读取的。
编辑:我添加
后终止shutdown(sockfd, 1);
发送数据部分之后,但响应应该是
OK\n7
try.txt
我得到的唯一回应是
OK