读书人

[]关于SOCKET编程中close函数阻塞的有

发布时间: 2012-04-26 14:01:31 作者: rapoo

[求助]关于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");
[解决办法]

探讨

是不是因为缓存的原因,导致输出没有显示?

加个换行符试试
printf("close client_sockfd ok\n");

读书人网 >UNIXLINUX

热点推荐