歡迎您的來訪!有源碼,好建站(www.bmm520.net)源碼海洋源碼網為您提供快速建站平臺.
      當前位置: 首頁 > 行業資訊 > c# .net 資料 >

      C# 網絡連接中異常斷線的處理:ReceiveTimeout, SendTimeout 及 KeepAliveValues(設置心跳)

      時間:2021-07-12 00:01來源:未知 作者:admin 點擊:
      在使用 TcpClient 網絡連接中常常會發生客戶端連接異常斷開, 服務端需要設置檢測手段進行這種異常的處理; 1、對于短連接, 通過對 Socket 屬性ReceiveTimeout 和 SendTimeout 設置恰當的值, 使得程序在進行讀/寫時超時, 會產生 SocketException 異常, 通過檢

       在使用 TcpClient 網絡連接中常常會發生客戶端連接異常斷開, 服務端需要設置檢測手段進行這種異常的處理;

       
      1、對于短連接,
       
      通過對 Socket 屬性ReceiveTimeout 和 SendTimeout 設置恰當的值, 使得程序在進行讀/寫時超時, 會產生 SocketException 異常, 通過檢查這個異常并進行處理,來完成對異常斷開的檢測處理. 服務端連接處理代碼如下:
       
      Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, true);     //必須先啟用接收超時選項,設置接收超時才有用。   
       
      Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, true);     //必須先啟用發送超時選項,設置發送超時才有用。        
       
      Socket.ReceiveTimeOut=10000;//毫秒
       
      Socket.SendTimeOut=10000;//毫秒
       
      2、對于長連接
       
      可以通過 Socket 中的心跳檢測機制進行處理.
       
      Socket的底層IO一般通過 WSAIoctl 函數進行設置. C# 中對此函數進行了封裝, 即Socket.IOControl 方法.
       
      publicint IOControl(
       
          IOControlCode ioControlCode,
       
          byte[] optionInValue,
       
          byte[] optionOutValue
       
      )
       
      其中第一個參數為 Socket IO 控制代碼; 第二個參數為傳入參數值, 第三個參數為傳出值.
       
      在Winsock 2 中定義了許多 Socket IO 控制類型 , 其中有一項: KeepAliveValues , 控制 TCP keep-alive 數據包的發送以及發送間隔。默認值為2個小時, 當間隔時間超過這個設定后, socket就會連續發送5次連接信號, 若客戶端無回應, 則此 client socket會斷開.
       
      我們可以如下調整這個間隔時間:
       
      newClient.Client.IOControl(IOControlCode.KeepAliveValues,BitConverter.GetBytes(120), null); // 設置為 2分鐘.
       
      以上即為2種網絡異常連接斷線檢測的設置方法.
       
      (責任編輯:admin)本文地址:http://www.bmm520.net/info/net/2021/0712/22476.html

      推薦資訊

      国产成人麻豆亚洲综合无码精品 | 亚洲色无码专区在线观看| 亚洲AV永久无码天堂影院| 亚洲AV无码成人专区| 亚洲精品国产情侣av在线| 亚洲国产精品一区| 久久久久亚洲精品天堂| 亚洲国产一区二区三区青草影视| 亚洲AV天天做在线观看| 久久精品国产亚洲av麻| 精品亚洲综合久久中文字幕| 亚洲国产美女精品久久久久∴| 亚洲人成在线播放网站| 国产AV无码专区亚洲精品| 亚洲av无码一区二区乱子伦as| 亚洲成A人片在线观看无码不卡 | 国产成人精品久久亚洲| 亚洲日韩中文在线精品第一 | 亚洲成a人一区二区三区| 亚洲福利精品一区二区三区| 亚洲精品国精品久久99热| 久久久久亚洲AV成人网人人软件 | 亚洲人成网站18禁止久久影院 | 亚洲成人免费电影| 久久精品国产亚洲av麻豆蜜芽 | 国产精品亚洲а∨无码播放| 亚洲不卡中文字幕无码| 91嫩草私人成人亚洲影院| 亚洲午夜国产精品| 日韩亚洲不卡在线视频中文字幕在线观看| 日韩亚洲人成在线| 国产成人亚洲综合无| 精品亚洲一区二区三区在线观看| 亚洲午夜久久久久久久久电影网| 亚洲AV无码一区二区三区DV| 亚洲精品视频久久| 亚洲中文无码卡通动漫野外| 国产亚洲情侣久久精品| 自拍偷自拍亚洲精品情侣| 亚洲另类激情综合偷自拍| 亚洲专区一路线二|