日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

嵌入式开发之网络心跳包---阻塞和非阻塞以及是否有必要心跳包heartbeat

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式开发之网络心跳包---阻塞和非阻塞以及是否有必要心跳包heartbeat 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 TCP和UDP的心跳包是用來維持長連接的

心跳包只是用來檢測socket的鏈接狀態

?

2.1 非阻塞情況下TCP 心跳包是否有必要建立心跳包

  需要,

  a.如果說 嚴格 檢測掉線的話 那么不管是不是非阻塞 都需要心跳包。(主要是因為心跳比較方便),如果想保持長連接,就需要定期發送心跳包

  b.

  1). A和Z通信。實際路線可能是: A->b->c->d->...->Z。

  2). 后來,c和d有別扭,于是: A->b->c 「斷X了」 d->->Z。

  3). 除非有超時機機制,否則recv函數不會知道c和d的分手的事。

3.1 TCP自帶心跳包定時為2小時,是全局TCP心跳超時,會影響系統其他應用網絡連接

TCP有個KeepAlive開關,打開后可以用來檢測死連接。通常默認是2小時,可以自己設置。但是注意,這是TCP的全局設置。假如為了能更及時的檢測出斷開的連接,把tcp_keepalive_time和tcp_keepalive_intvl的時間改小(參考:Link),該機器上所有應用程序的KeepAlive檢測間隔都會變小,顯然是不能接受的。因為不同應用程序的需求是不一樣的。

?

4.1 recv 返回值判斷連接情況,

?a. 返回0

?阻塞接收的recv有時候會返回0,這僅在socket被正常關閉時才會發生。

?1) 正常關閉socket closesocket;

?2)關機

?

?b.返回-1

?1)  阻塞,一般對于阻塞的socket都會用setsockopt來設置socket的超時。
????? 當超時時間到達后,recv會返回錯誤,也就是-1,關閉重連接,無需心跳包

2) 掉線,斷網直接關閉程序

假設使用Socket基于TCP通信協議進行C/S通信編程,客服端已經成功與服務端建立tcp連接,并且可以正常進行收發數據。

當一段時間后,服務端的程序如果調用closesocket(sClient);WSACleanup();函數關閉socket,?

那么客戶端的recv()將會返回0;

如果服務端沒有調用closesocket(sClient);而只調用WSACleanup();或直接關閉程序,

那么客戶端的recv()將會返回-1(SOCKET_ERROR)。

以上結果在局域網經過實際驗證。

?

?3)由于終端信號,服務端返回-,但是客戶端依然連接,能發數據,怎么辦? 心跳包重連接

其實,要判定掉線,只需要send或者recv一下,如果結果為零,則為掉線。但是,在長連接下,有可能很長一段時間都沒有數據往來。理論上說,這個連接是一直保持連接的,但是實際情況中,如果中間節點出現什么故障是難以知道的。更要命的是,有的節點(防火墻)會自動把一定時間之內沒有數據交互的連接給斷掉。在這個時候,就需要我們的心跳包了,用于維持長連接,?;?。

?

?

5.1 心跳包超時時間20~40s適宜

?

?

4.1 附錄

https://www.zhihu.com/question/57736822

https://blog.csdn.net/qq_23167527/article/details/54290726

https://blog.csdn.net/liaomengge/article/details/50760831

https://www.zhihu.com/question/20849677/answer/16384522

?

https://www.cnblogs.com/nightwatcher/archive/2012/08/16/2643145.html

https://blog.csdn.net/tiandyoin/article/details/30044781

https://blog.csdn.net/baodi_z/article/details/43449315

http://www.nowamagic.net/academy/detail/23350382

?

總結

以上是生活随笔為你收集整理的嵌入式开发之网络心跳包---阻塞和非阻塞以及是否有必要心跳包heartbeat的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91丝袜呻吟高潮美腿白嫩在线观看 | 欧美黑人孕妇孕交 | 欧美激情一区 | 老色鬼在线 | 亚洲精品综合在线观看 | 一级午夜 | 久久久噜噜噜久久中文字幕色伊伊 | 日韩av在线一区 | 天天色影| 日韩一级 | 五月激情六月婷婷 | 男人天堂国产 | 日本三级片在线观看 | 先锋av资源在线 | 噜啪啪| 成人av在线播放网站 | 国产一区二区h | 欧美一区免费 | 三男一女吃奶添下面 | 精品网站999www | 欧美性受xxxx黑人 | 一级黄色大片免费观看 | 成人福利一区 | 双性人bbww欧美双性 | 欧美激情精品 | 日本xxxx高潮少妇 | 天天躁日日躁狠狠躁av麻豆男男 | 欧美 中文字幕 | 亚洲制服一区 | 日韩经典第一页 | 麻豆av网址 | 国产精品视频久久久久久 | 日韩三级黄色片 | 精品在线视频一区二区 | 国产www | 国产视频自拍一区 | 亚洲蜜桃精久久久久久久久久久久 | 国产在线精品一区二区三区 | 免费www xxx| 一区二区三区在线免费视频 | 日本一区免费看 | 国产一区二区在 | 日韩性xx| 蜜桃视频在线观看一区二区 | 成人av电影在线观看 | 久青草视频 | 国产精彩视频 | 欧美三级手机在线观看 | 草逼视频网站 | 日韩另类av | 久久久91精品国产一区二区三区 | 中文字幕第66页 | 中日韩中文字幕 | 国产人人爽 | 91中文字幕永久在线 | 亚洲一区在线播放 | 日韩精品人妻一区二区三区免费 | 性色在线视频 | 天堂网一区二区三区 | 国产露脸国语对白在线 | 日韩免费在线播放 | 波多野结衣欧美 | 男女透逼视频 | 欧美大片一区二区 | 国产精品麻豆果冻传媒在线播放 | 亚洲综合自拍 | 久久精品免费观看 | 九九热精彩视频 | 午夜国产一区二区 | 亚洲成人av在线播放 | 男女啪啪av| 自拍偷拍视频在线 | 免费视频a| 久久中文字幕一区二区 | 精品三级国产 | 久久国产这里只有精品 | 亚洲香蕉在线观看 | 三级成人在线 | 老牛影视av牛牛影视av | 国产精品有限公司 | 亚洲v | 伊人手机在线视频 | 日韩一区二区三免费高清在线观看 | 一本大道熟女人妻中文字幕在线 | 丰满熟女人妻一区二区三区 | 中文av字幕 | 成人动漫在线免费观看 | 免费福利视频在线观看 | 国产午夜片 | 欧美日韩成人在线播放 | 性欧美18 | 久久久全国免费视频 | 一区二区三区在线免费观看视频 | 日本在线h | 亚洲综合不卡 | 一级在线免费观看 | 狠狠干,狠狠操 | 中文字字幕在线中文乱码电影 | 亚洲两性视频 |