亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CentOS下TCP斷線監(jiān)測詳解

  發(fā)布時間:2016-12-26 11:40:42   作者:佚名   我要評論
TCP正常的斷開,通信雙方(服務(wù)端和客戶端)都是能知道的。但是非正常的斷開呢?該如何解決?今天小編為大家?guī)淼氖荂entOS下TCP斷線監(jiān)測詳解;希望對大家會有幫助;有需要的朋友一起去看看吧

TCP正常的斷開,通信雙方(服務(wù)端和客戶端)都是能知道的。但是非正常的斷開,比如直接拔掉了網(wǎng)線,就只能靠如下兩種方法,實現(xiàn)短時間內(nèi)的檢測。

,心跳包機制

心跳包機制,是網(wǎng)游設(shè)計中的常用機制。從用戶層面,自己發(fā)包去判斷對方連線狀態(tài)。可以根據(jù)情況,很靈活的使用。比如,20秒發(fā)送一個最小的數(shù)據(jù)包(也可以根據(jù)實際情況稍帶一些其他數(shù)據(jù))。如果發(fā)送沒有回應(yīng),就判斷對方掉線了。

,利用tcp_keepalive機制

利用TCP的機制,通過設(shè)置系統(tǒng)參數(shù),從系統(tǒng)層面,監(jiān)測tcp的連接狀態(tài)。以下為linux下的方法:

1,首先查看系統(tǒng)tcp_keepalive相關(guān)參數(shù)(centos和Ubuntu)

# sysctl -a|grep tcp_keepalive

顯示如下:

net.ipv4.tcp_keepalive_intvl = 75

net.ipv4.tcp_keepalive_probes = 9

net.ipv4.tcp_keepalive_time = 7200

分別說一下這三個參數(shù):

tcp_keepalive_time 參數(shù):

是指TCP發(fā)送keepalive消息的頻度,默認為7200秒,也就是兩個小時。

keepalive_intvl 參數(shù):

當(dāng)探測沒有確認時,重新發(fā)送探測的頻度。默認是75秒。

keepalive_probes 參數(shù):

在認定連接失效之前,發(fā)送多少個TCP的keepalive探測包。默認值是9次。

--------------------------------------------------------------------

2,修改系統(tǒng)的tcp_keepalive相關(guān)參數(shù)

在知道以上三個系統(tǒng)參數(shù)的定義和作用之后,我們來修改一下這三個參數(shù):

修改/etc/sysctl.conf文件:

# vi /etc/sysctl.conf

在打開的文件中,加入如下三行:

net.ipv4.tcp_keepalive_intvl = 1

net.ipv4.tcp_keepalive_probes = 1

net.ipv4.tcp_keepalive_time = 5

保存文件。

--------------------------------------------------------------------

3,重啟服務(wù)器。

# reboot

附注:或者臨時使系統(tǒng)設(shè)置生效也行:# sysctl -p

--------------------------------------------------------------------

4,修改程序代碼部分。

注意:僅僅配置內(nèi)核參數(shù)是不夠的,還必須在編程的時候設(shè)置套接字的選項,調(diào)用函數(shù)是

socket.setsockopt(level, optname, value) 

示例:

level為SOL_SOCKET的話,選項為SO_KEEPALIVE,值為布爾。

socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True)  

此外還可以設(shè)置TCP選項(設(shè)置的level為SOL_TCP而不是SOL_SOCKET)覆蓋系統(tǒng)全局設(shè)置

TCP_KEEPCNT  與tcp_keepalive_probes 對應(yīng)

TCP_KEEPIDLE 與tcp_keepalive_time 對應(yīng)

TCP_KEEPINTVL 與tcp_keepalive_intvl 對應(yīng)

--------------------------------------------------------------------

相關(guān)文章

  • Centos7安裝時注意事項詳解

    很多朋友在Centos7安裝時很多細節(jié)不注意,今天小編將為大家分享Centos7安裝時注意事項的詳解;希望對大家會有幫助,有需要的朋友一起去看看吧
    2016-12-26
  • CentOS下如何查看多核負載?CentOS下查看多核負載的方法

    一些朋友還不知道CentOS下如何查看多核負載?今天小編將為大家分享CentOS下查看多核負載的方法,希望對大家會有幫助,有需要的朋友一起去看看吧
    2016-12-26
  • CentOS關(guān)閉UseDNS加速SSH登錄的方法

    經(jīng)常登陸SSH的朋友可以發(fā)現(xiàn),每次登錄SSH時總是要停頓等待一下才能連接上,這是因為OpenSSH服務(wù)器有一個DNS查找選項UseDNS默認情況下是打開的。今天小編為大家?guī)淼氖荂ent
    2016-12-26
  • CentOS7上如何借助系統(tǒng)存儲管理器管理LVM卷?

    邏輯卷管理器(LVM)是一種極其靈活的磁盤管理工具,它讓用戶可以從多個物理硬驅(qū)創(chuàng)建邏輯磁盤卷,并調(diào)整大小,根本沒有停機時間;今天小編為大家?guī)淼氖荂entOS7上借助系統(tǒng)
    2016-12-26
  • centos快速查找指定類型文件并刪除的方法

    一些朋友反饋說不知道centos如何快速查找指定類型文件并刪除;今天小編將為大家?guī)韈entos快速查找指定類型文件并刪除的方法,希望可以幫助到大家,有需要的朋友一起去看看
    2016-12-25
  • CentOS如何查看當(dāng)前系統(tǒng)下的gcc版本命令?

    Linux系統(tǒng)下的Gcc是GNU推出的功能強大、性能優(yōu)越的多平臺編譯器,是GNU的代表作品之一。今天小編為大家?guī)淼氖荂entOS查看當(dāng)前系統(tǒng)下的gcc版本命令的方法,有需要的朋友一
    2016-12-25
  • CentOS支持中文和ssh支持中文輸入的修改

    今天小編為大家?guī)淼氖荂entOS支持中文以及ssh支持中文輸入的修改,希望可以幫助到大家,有需要的朋友一起去看看吧
    2016-12-25
  • CentOS下如何備份與還原mbr?

    很多朋友還不知道CentOS下如何備份與還原mbr?今天小編將為大家?guī)鞢entOS下備份與還原mbr的方法,有需要的朋友一起去看看吧
    2016-12-25
  • CentOS如何設(shè)置網(wǎng)卡成DHCP動態(tài)獲取IP?

    很多朋友反饋說不知道CentOS如何設(shè)置網(wǎng)卡成DHCP動態(tài)獲取IP?今天小編將為大家?guī)鞢entOS設(shè)置網(wǎng)卡成DHCP動態(tài)獲取IP的方法,一起去看看吧
    2016-12-23
  • CentOS查看各種服務(wù)信息命令詳解

    今天小編為大家?guī)淼氖荂entOS查看各種服務(wù)信息命令詳解;希望可以幫助到大家,有需要的朋友一起去看看吧
    2016-12-23

最新評論