我遇到了一个奇怪的问题,试图测试一个简单的套接字程序。当我在这里调用“接受”功能时,我的程序似乎挂了...它打印出“SENPAI PLS”但从不打印“SADDASSDA”。
昨晚我的代码已经过了这部分内容。对于上下文,这是在一个大型服务器上运行,其他很多学生可能尝试与我做同一个项目,我相信其中一些正在运行他们的服务器程序。
服务是忙还是完全导致接受永远不会完成?
do{
printf("SENPAI PLS\n");
clientFD=accept(serverFD, (struct sockaddr *) &clientAddress, &clientAddressSize);
printf("SADDASSDA\n");
if(clientFD==-1){
sleep(1);
}
}while (clientFD==-1);
答案 0 :(得分:1)
accept
将不会返回(除非侦听套接字处于非阻塞模式)。