从另一个线程关闭套接字时,阻塞recv不会退出吗?

在Linux中,如果我们recv从一个线程调用阻塞并从另一个线程关闭同一个套接字,recv则不会退出。

为什么?

回答:

检查是否已关闭套接字的所有文件描述符。如果在“远程”端有任何打开的端口(假设这是您尝试关闭的端口),则“

对等方尚未执行有序的关闭 ”。

如果仍然不起作用,请shutdown(sock,

SHUT_RDWR)在远端调用,无论引用计数如何,都将关闭套接字。

以上是 从另一个线程关闭套接字时,阻塞recv不会退出吗? 的全部内容, 来源链接: utcz.com/qa/407954.html

回到顶部