是否可以在客户端和服务器端都关闭Java套接字?

是否可以在客户端和服务器端都关闭Java套接字?,第1张

是否可以在客户端和服务器端都关闭Java套接字?

TCP不能像这样工作。 *** 作系统将不会释放资源,即文件描述符以及端口,直到应用程序显式关闭套接字或死掉,即使TCP堆栈知道另一端已将其关闭。从对等方收到FIN后,从内核到用户应用程序之间没有回调。 *** 作系统向另一侧确认它,但

close()
在发送FIN数据包之前等待应用程序调用。看一下TCP状态转换图 -您处于 被动关闭 框中。

在不为每个套接字专用线程的情况下检测这种情况的一种方法是使用

select/poll/epoll/kqueue
函数系列。被动关闭的套接字将被发信号表示为可读,并且尝试读取将返回EOF。

希望这可以帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存