日期:2014-05-16  浏览次数:20594 次

请问:我发现在linux上的网络编程时, 若客户端连不上服务端,就会阻塞,但如果是在UNIX上,若连不上,会马上返回,并不阻 塞,怎样让它也能阻塞啊?
我发现在linux上的网络编程时, 若客户端连不上服务端,就会阻塞,但如果是在UNIX上,若连不上,会马上返回,并不阻 塞,怎样让它也能阻塞啊?

------解决方案--------------------
忘了一句, 最后的
/* Set to Blocked */ 
flag &= ~O_NONBLOCK;
if (fcntl(sockfd, F_SETFL, flag) < 0)
perror("Cannot set sockopt");
------解决方案--------------------
可以在客户端加死循环,每sleep一段时间就连接一次服务器,直到连上。
------解决方案--------------------
哦,我说错了,现在的问题是连接服务器端时不阻塞.,套接字本身是阻塞的,但连接服务端时,因为服务端还没有开启,客户端一运行就退出了,我是想让它能等在哪里,(也就是等服务端的开启,然后再连上)









这样的话,linux下也不会阻塞呀.