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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

struct linger

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struct linger 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?TCP連接斷開的時候調用close socket函數,已經討論過有優雅的斷開和強制斷開,那么如何設置斷開連接的方式呢?

是通過設置socket描述符一個linger結構體屬性。

linger結構體數據結構如下:

struct linger { int l_onoff; int l_linger; };???

有三種組合方式:

第一種

??? l_onoff = 0;

??? l_linger忽略

這種方式下,就是在closesocket的時候立刻返回,底層會將未發送完的數據發送完成后再釋放資源,也就是優雅的退出.


第二種

??? l_onoff非零

??? l_linger = 0;

這種方式下,在調用close socket的時候同樣會立刻返回,但不會發送未發送完成的數據,而是通過一個REST包強制的關閉socket描述符,也就是強制的退出。


第三種

??? l_onoff非零

??? l_linger > 0

這種方式下,在調用close socket的時候不會立刻返回,內核會延遲一段時間,這個時間就由l_linger得值來決定。如果超時時間到達之前,發送完未發送的數據(包括FIN包)并得到另一端的確認,close socket會返回正確,socket描述符優雅性退出。

否則,close socket會直接返回錯誤值,未發送數據丟失,socket描述符被強制性退出。

需要注意的時,如果socket描述符被設置為非堵塞型,則close socket會直接返回值。

?

?

?

轉載于:https://www.cnblogs.com/springside4/archive/2010/11/11/2481735.html

總結

以上是生活随笔為你收集整理的struct linger的全部內容,希望文章能夠幫你解決所遇到的問題。

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