最佳化 .NET 中的套接字連線逾時
網路套接字連接需要仔細的逾時管理,以避免應用程式凍結並增強使用者體驗。 長時間的連線嘗試會顯著影響效能。
建議方法:
在 .NET 中設定套接字連接逾時的最有效方法是利用 IAsyncResult
和 AsyncWaitHandle
的非同步操作。這允許精確控制連接嘗試。
範例:
<code class="language-csharp">Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // Establish a 5-second connection timeout IAsyncResult result = socket.BeginConnect(sIP, iPort, null, null); // Await connection completion or timeout bool success = result.AsyncWaitHandle.WaitOne(5000, true); if (socket.Connected) { socket.EndConnect(result); // Proceed with socket operations } else { // Handle connection failure: close socket and raise exception socket.Close(); throw new ApplicationException("Connection to server failed."); }</code>
這種非同步技術比沒有明確逾時設定的同步 Connect()
呼叫提供了卓越的效率和靈活性。 它可以防止在等待連接時阻塞應用程式線程。
以上是如何在.NET 中有效配置套接字連線逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!