keyganker / keyganker.github.io

blog

Home Page:https://keyganker.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

java socket编程

keyganker opened this issue · comments

  1. tcp是双工的,所以两边都可以主动关闭链接,从而关闭一单个方向的数据传输。但是java的socket相关接口中并没有提供检测远端tcp是否关闭的api,目前提供的所有api都是检测本地tcp是否已关闭的,包括isClosedisConnected
  2. 如何检测远端tcp的socket是否已关闭,参见#9 下的 网络 部分第一篇 链接存活检测
  3. nginx upstream就是通过getsockopt来检测上游服务链接是否可用的,源码
  4. 还有一种trick的方法,兼容行可能不太好,未测试