最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang基于websocket通信tcp keepalive研究記錄

 更新時(shí)間:2022年06月01日 17:31:20   作者:若-飛  
這篇文章主要為大家介紹了golang基于websocket通信tcp keepalive研究記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

為什么有tcp Keepalive?

服務(wù)器和客戶端建立tcp連接以后,客戶端/服務(wù)器如何知道對(duì)方是否掛掉了? 

這時(shí)候TCP協(xié)議提出一個(gè)辦法,當(dāng)客戶端端等待超過(guò)一定時(shí)間后自動(dòng)給服務(wù)端發(fā)送一個(gè)空的報(bào)文,如果對(duì)方回復(fù)了這個(gè)報(bào)文證明連接還存活著,如果對(duì)方?jīng)]有報(bào)文返回且進(jìn)行了多次嘗試都是一樣,那么就認(rèn)為連接已經(jīng)丟失,客戶端就沒必要繼續(xù)保持連接了。如果沒有這種機(jī)制就會(huì)有很多空閑的連接占用著系統(tǒng)資源。

KeepAlive并不是TCP協(xié)議規(guī)范的一部分,但在幾乎所有的TCP/IP協(xié)議棧(不管是Linux還是Windows)中,都實(shí)現(xiàn)了KeepAlive功能。

 RFC1122#TCP Keep-Alives

tcp Keepalive是否默認(rèn)開啟?

KeepAlive默認(rèn)情況下是關(guān)閉的,可以被上層應(yīng)用開啟和關(guān)閉

如何設(shè)置tcp keepalive?

在Linux內(nèi)核設(shè)置

KeepAlive默認(rèn)不是開啟的,如果想使用KeepAlive,需要在你的應(yīng)用中設(shè)置SO_KEEPALIVE才可以生效。

查看當(dāng)前的配置:

cat /proc/sys/net/ipv4/tcp_keepalive_time
cat /proc/sys/net/ipv4/tcp_keepalive_intvl
cat /proc/sys/net/ipv4/tcp_keepalive_probes

在Linux中我們可以通過(guò)修改 /etc/sysctl.conf 的全局配置:

net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9

添加上面的配置后輸入 sysctl -p 使其生效,你可以使用 sysctl -a | grep keepalive 命令來(lái)查看當(dāng)前的默認(rèn)配置

golang websocket 客戶端默認(rèn)怎么處理tcp keepalive?

websocket客戶端默認(rèn)是開啟tcp keepalive的

客戶端調(diào)用的是net/dial的方法DialContext:

決定是否開啟keepalive,取決于dial的keepalive的值,>>0就開啟

把客戶端的代碼改造以后,就可以決定是否主動(dòng)開啟了:

golang websocket 服務(wù)器默認(rèn)怎么處理tcp keepalive?

websocket服務(wù)器默認(rèn)是開啟tcp keepalive的

客戶端調(diào)用的是net/tcpsock_posix的tcplistener的accept方法決定的:

tcplistenser的lc配置文件的keepalive字段>>0就開啟tcp keepalive

把服務(wù)器改造一下,支持能夠主動(dòng)開關(guān)tcp keepalive:

以上就是golang基于websocket通信tcp keepalive研究記錄的詳細(xì)內(nèi)容,更多關(guān)于golang websocket通信tcp keepalive的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于Go?goroutine實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聊天服務(wù)

    基于Go?goroutine實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聊天服務(wù)

    對(duì)于聊天服務(wù),想必大家都不會(huì)陌生,因?yàn)樵谖覀兊纳钪薪?jīng)常會(huì)用到,本文我們用?Go?并發(fā)來(lái)實(shí)現(xiàn)一個(gè)聊天服務(wù)器,這個(gè)程序可以讓一些用戶通過(guò)服務(wù)器向其它所有用戶廣播文本消息,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • golang中使用proto3協(xié)議導(dǎo)致的空值字段不顯示的問(wèn)題處理方案

    golang中使用proto3協(xié)議導(dǎo)致的空值字段不顯示的問(wèn)題處理方案

    這篇文章主要介紹了golang中使用proto3協(xié)議導(dǎo)致的空值字段不顯示的問(wèn)題處理方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解golang中的method

    詳解golang中的method

    這篇文章主要介紹了golang中的method的相關(guān)資料,幫助大家更好的理解和使用golang,感興趣的朋友可以了解下
    2021-01-01
  • 詳解Go語(yǔ)言如何解析帶注釋的json

    詳解Go語(yǔ)言如何解析帶注釋的json

    標(biāo)準(zhǔn)的json格式是不帶注釋,但是有時(shí)候?yàn)榱朔奖憷斫鈐son中各字段的含義,需要支持帶注釋的json,這篇文章主要介紹了Go語(yǔ)言解析帶注釋json的相關(guān)方法,希望對(duì)大家有所幫助
    2024-03-03
  • gin解析json格式的數(shù)據(jù)出錯(cuò)的處理方案

    gin解析json格式的數(shù)據(jù)出錯(cuò)的處理方案

    這篇文章主要介紹了gin解析json格式的數(shù)據(jù)出錯(cuò)的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Go 切片導(dǎo)致內(nèi)存泄露的幾種原因

    Go 切片導(dǎo)致內(nèi)存泄露的幾種原因

    某些情況下,對(duì)一個(gè)已存在的切片或數(shù)組進(jìn)行切分操作可能會(huì)導(dǎo)致內(nèi)存泄漏,本文主要介紹了Go 切片導(dǎo)致內(nèi)存泄露的幾種原因,感興趣的可以了解一下
    2023-05-05
  • go?defer避坑指南之拆解延遲語(yǔ)句

    go?defer避坑指南之拆解延遲語(yǔ)句

    這篇文章主要為大家詳細(xì)介紹了go?defer避坑指南之如何拆解延遲語(yǔ)句,掌握正確使用方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Golang操作命令行的幾種方式總結(jié)

    Golang操作命令行的幾種方式總結(jié)

    這篇文章主要介紹了Golang操作命令行的幾種方式總結(jié),文章通過(guò)圍主題思想展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 使用Go實(shí)現(xiàn)郵箱驗(yàn)證碼API功能

    使用Go實(shí)現(xiàn)郵箱驗(yàn)證碼API功能

    本文將帶你了解一個(gè)項(xiàng)目如何實(shí)現(xiàn)一個(gè)郵箱驗(yàn)證接口,即一個(gè)可用的發(fā)送郵箱驗(yàn)證碼API和驗(yàn)證驗(yàn)證碼是否正確功能,對(duì)Go實(shí)現(xiàn)郵箱驗(yàn)證碼API詳細(xì)過(guò)程感興趣的朋友一起看看吧
    2024-06-06
  • Golang對(duì)struct字段重新排序優(yōu)化數(shù)據(jù)結(jié)構(gòu)性能實(shí)踐

    Golang對(duì)struct字段重新排序優(yōu)化數(shù)據(jù)結(jié)構(gòu)性能實(shí)踐

    這篇文章主要為大家介紹了Golang對(duì)struct字段重新排序優(yōu)化數(shù)據(jù)結(jié)構(gòu)性能實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論

泗洪县| 进贤县| 安国市| 阳新县| 嘉黎县| 雅江县| 珠海市| 纳雍县| 九寨沟县| 赞皇县| 鄱阳县| 江津市| 金门县| 通城县| 鄂托克旗| 长乐市| 桃园市| 托里县| 贵州省| 扬中市| 淳化县| 京山县| 碌曲县| 澄城县| 乌兰察布市| 惠水县| 松滋市| 高清| 北流市| 探索| 乐清市| 门源| 乐昌市| 通榆县| 渭南市| 环江| 巨野县| 昭苏县| 高安市| 莫力| 平潭县|