java網絡編程tcp協議之setKeepAlive

keepAlive是socket鏈接在沒有數據交換時用來探測鏈接是否存活的一種心跳機制。固然也能夠本身實現心跳機制而不使用自帶的功能。java

當因爲各類問題(在沒有數據交換的狀況下因爲網絡問題或者自身機器問題)致使socket沒有正常關閉時,socket會一直佔用句柄,這樣致使了該釋放的資源沒及時釋放。linux

java 自帶的api沒有提供設置心跳的具體參數:api

一、發送心跳的時間間隔;網絡

二、當未受到心跳的ack消息時再次發送心跳的次數與時間間隔;socket

若是是在linux環境下可經過修改操做系統的配置文件進行設置。操作系統

相關文章
相關標籤/搜索