java网络编程tcp协议之setKeepAlive

keepAlive是socket链接在没有数据交换时用来探测链接是否存活的一种心跳机制。固然也能够本身实现心跳机制而不使用自带的功能。java

当因为各类问题(在没有数据交换的状况下因为网络问题或者自身机器问题)致使socket没有正常关闭时,socket会一直占用句柄,这样致使了该释放的资源没及时释放。linux

java 自带的api没有提供设置心跳的具体参数:api

一、发送心跳的时间间隔;网络

二、当未受到心跳的ack消息时再次发送心跳的次数与时间间隔;socket

若是是在linux环境下可经过修改操做系统的配置文件进行设置。操作系统

相关文章
相关标签/搜索