C# KeepAlive的設置


  C# KeepAlive的相關設置

網上有很多相關KeepAlive的內容,終於找到了有關C#的這方面資料,設置了下,有行可靠!

 TcpListener myListener = new TcpListener(IPAddress.Any, port);//綁定端口IP信息
 
 myListener.Start();//開始監聽

 TcpClient newClient=myListener.AcceptTcpClient();//接受請求

 newClient.Client.IOControl(IOControlCode.KeepAliveValues, KeepAlive(1, 30000, 10000), null);//設置Keep-Alive參數

 private byte[] KeepAlive(int onOff, int keepAliveTime, int keepAliveInterval)
 {
     byte[] buffer = new byte[12];
     BitConverter.GetBytes(onOff).CopyTo(buffer, 0);
     BitConverter.GetBytes(keepAliveTime).CopyTo(buffer, 4);
     BitConverter.GetBytes(keepAliveInterval).CopyTo(buffer, 8);
     return buffer;
  }

 

KeepAlive函數參數說明:

onOff:是否開啟KeepAlive

keepAliveTime:開始首次KeepAlive探測前的TCP空閉時間

keepAliveInterval: 兩次KeepAlive探測間的時間間隔

Keep-Alive的位置我是放在收到客戶端以后,對每個連入的客戶端都設置一次。

 

相關文章:http://www.cnblogs.com/lidabo/p/4253356.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM