我用socket编写了一个基于TCP/IP协议的服务器程序,来连接客户端。程序在别人的电脑上可以正常运行,可是在我的电脑上运行到cThread->c_sockConn=accept(cThread->c_sockSrv,(sockaddr*)&cThread->c_addrSrv,&(cThread->c_addrlen));地方时就卡在这了,等了7、8分钟也连不上。我的端口和客户端设的是一致的,IP也是正常的,上网没有问题。请问各位高手这是什么问题?如何处理?
调试欢乐多
bind(concentrator.c_sockSrv,(sockaddr*)&concentrator.c_addrSrv,concentrator.c_addrlen);//绑定套接字
listen(concentrator.c_sockSrv,5);侦听套接字
以上三步都是正确的,我通过调试可以看到。
c_sockConn=accept(c_sockSrv,(sockaddr*)&c_addrSrv,&c_addrlen);
就是accept()地方死在那了?这是为什么呢?高手指点一下吧!
一般把 accept 放在 另外一个线程里面,你就不觉得会卡了.