Netty 创建的 Socket 连接,在一方断开连接时会触发对方的 channelInactive()方法,这样的话完全可以通过 channelInactive()方法判断对方是否存活,这样的话为什么还需要心跳机制来判断对方是否存活?
比如,客户端因为某些原因宕机会造成 Socket 连接断开,连接断开会触发服务端的 channelInactive()方法,如果服务端的 channelInactive()方法未被触发就代表该连接的客户端依旧存活,这样服务端就能知道客户端的存活情况,也就不需要再用 IdleStateHandler 进行心跳检测了...
我知道这样理解肯定有问题但是不知道问题在哪,请教大佬们...
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.