Linux Socket System调用“接受”永不返回?

时间:2016-05-07 21:32:30

标签: c linux sockets system

我遇到了一个奇怪的问题,试图测试一个简单的套接字程序。当我在这里调用“接受”功能时,我的程序似乎挂了...它打印出“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);  

1 个答案:

答案 0 :(得分:1)

在接受连接之前,

accept将不会返回(除非侦听套接字处于非阻塞模式)。