小屋創作

日誌2019-03-09 21:01

C# TCP 連線Timeout 設定

作者:貓貓風 ฅ●ω●ฅ

.


















在網路程式設計中,最重要的就是 連線狀態的偵測與斷線時的處理

本篇主要是偵測當在建立連線時,連線失敗的處理方式

首先會先嘗試連線並偵測一段時間,確認連線是否成功

偵測的時間可以自行定義,當偵測到連線失敗時採用重連機制

並設定重試次數,當超過該次數判定連線失敗

以下為實作程式碼

開始連線後偵測三秒鐘,如果連線失敗則重試

如果重試超過三次則判定連線失敗


  1. TcpClient tcpClient ;  
  2.   
  3. public void TCP_Connect()  
  4. {  
  5.     tcpClient = new TcpClient();  
  6.     IAsyncResult result = tcpClient.BeginConnect("192.168.10.100", 6300,null, null);  
  7.     result.AsyncWaitHandle.WaitOne(3000,true);  
  8.   
  9.     if (!result.IsCompleted)  
  10.     {  
  11.         if (try_count < 3)  
  12.         {  
  13.             MessageBox.Show("Ethernet Connection Error, Retry");  
  14.             try_count++;  
  15.             tcpClient.Close();  
  16.             TCP_Connect();  
  17.         }  
  18.         else  
  19.         {  
  20.             tcpClient.Close();  
  21.             MessageBox.Show("Missing Connection");  
  22.         }  
  23.     }  
  24. }  

12

1

LINE 分享

相關創作

碧藍航線 自動戰鬥腳本 v2.2.1 破曉冰華

碧藍航線 自動戰鬥腳本 v2.2.0 定向摺疊 - v2

碧藍航線 自動戰鬥腳本 v2.1.9 蒼閃忍法帖

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】