假设我有一个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”
socket.io NginxconfigurationWebSocket握手期间出现错误:“连接”标题值不是“升级”:keep-alive
为什么gethostbyname和gethostbyaddr被认为是过时的?
Linux和I / O完成端口?
为什么Apache MPM prefork.c使用互斥体来保护accept()?
Python 3.4多处理队列比pipe道更快,意外
无法在Eclipse中运行junittesting
那么情况与管道有点不同,因为操作系统不一定知道另一端已经关闭了连接。 所以…在理论上…一些写入套接字可能似乎工作。 但是,如果远程机器仍然在网络上,那么作者最终应该得到一个异常。 有一个很好的机会将它扔在一个插座flush或close 。
FWIW, java.net.socket的行为很大程度上取决于OS的协议栈的工作方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。