【发布时间】:2016-10-05 03:07:23
【问题描述】:
我想从套接字读取数据流并在服务器完成发送后停止读取。下面的代码永远不会运行 else if (因为 read 显然永远不会读取 0 字节;))。从服务器获取我想要的内容后,如何中断或修改 while 循环以中断?
while(1){
/* receive answer from server */
t = read(sock, output, MAX);
if (t > 0) {
puts("received smthn");
}
else if (t == 0) {
puts("***ITS OVER***");
} else {
printf("Connection with server terminated.\n");
exit(1);
}
}
【问题讨论】:
-
发送完什么? NB
read()在对端关闭连接时返回零。 -
服务器正在通过套接字发送字符串。
标签: sockets