[求助]关于SOCKET编程中close函数阻塞的问题。
在linux 2.4的socket编程中,遇到一个问题:
if(close(client_sockfd)==-1)
{
pirntf("close client_sockfd err!");
}
else
{
pirntf("close client_sockfd ok");
}
结果抓包发现FIN已经发出,但是没有打印任何信息。close函数阻塞了?
有没有什么方式能让它强制关闭连接,而不阻塞?
它在什么条件下阻塞?还有没发送完成的数据?但是也应该在发FIN之前阻塞啊。
在linux的函数帮助中中也没有详细说明这一部分。(http://www.kernel.org/doc/man-pages/online/pages/man2/close.2.html#CONFORMING_TO)
或者谁能告诉我这个函数的详细手册能在哪查到。谢谢。
------解决方案--------------------
是不是因为缓存的原因,导致输出没有显示?
加个换行符试试
printf("close client_sockfd ok\n");
------解决方案--------------------