微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在写/closures由对等closures的java.net.Socket的情况下会发生什么?

假设我有一个java.net.socket实例,它是两个对等体( Windows进程)之间连接的端点:我的进程和远程进程。 远程进程退出并closures其连接。 现在我正在试图write并close我的套接字。

我期望write和close调用(或其中之一)失败并引发exception(就像在Unix套接字API中的SIGPIPE信号),但它们成功。

在这种情况下java.net.socket的预期行为是什么? 它是否与Unix套接字API行为有所不同? 它在Windows和Linux中的工作原理是否相同?

UDP通过相同的套接字广播和单播?

nodejs无法在Windows上parsing“localhost”

python原始套接字:协议不支持

socket.io NginxconfigurationWebSocket握手期间出现错误:“连接”标题值不是“升级”:keep-alive

为什么gethostbyname和gethostbyaddr被认为是过时的?

Linux和I / O完成端口?

为什么Apache MPM prefork.c使用互斥体来保护accept()?

Python 3.4多处理队列比pipe道更快,意外

无法在Eclipse中运行junittesting

在内核套接字编程中模拟select()和poll()的效果

那么情况与管道有点不同,因为操作系统不一定知道另一端已经关闭了连接。 所以…在理论上…一些写入套接字可能似乎工作。 但是,如果远程机器仍然在网络上,那么作者最终应该得到一个异常。 有一个很好的机会将它扔在一个插座flush或close 。

FWIW, java.net.socket的行为很大程度上取决于OS的协议栈的工作方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐