.NET 애플리케이션에서 소켓 연결 시간 초과 관리
네트워크 연결 문제로 인해 소켓 연결을 설정할 때 상당한 지연이 발생할 수 있습니다. 무기한 대기를 방지하기 위해 .NET에서는 연결 시간 제한을 설정하는 메커니즘을 제공합니다. 이를 통해 네트워크 문제가 발생하더라도 애플리케이션이 효율적으로 대응할 수 있습니다.
.NET의 Socket
클래스는 연결 시간 초과를 관리하는 방법을 제공합니다. 기본 설정에서는 무기한 대기가 허용되지만 강력한 애플리케이션 동작을 위해서는 시간 제한을 구현하는 것이 중요합니다.
다음 코드 조각은 BeginConnect
및 EndConnect
을 사용하여 5초 연결 시간 초과를 설정하는 방법을 보여줍니다.
<code class="language-csharp">IAsyncResult result = socket.BeginConnect(sIP, iPort, null, null); bool success = result.AsyncWaitHandle.WaitOne(5000, true); if (socket.Connected) { socket.EndConnect(result); } else { socket.Close(); throw new ApplicationException("Connection to server failed."); }</code>
이 코드는 지정된 5초 범위 내에서 연결 설정을 시도합니다. 해당 시간 내에 연결에 실패하면 SocketException
이 발생하여 애플리케이션 내에서 적절한 오류 처리가 가능해집니다.
이 예제에서는 .NET Framework v2를 사용한다는 점을 기억하는 것이 중요합니다. 특정 구문은 다른 .NET 버전에서 약간 다를 수 있습니다. .NET 환경과 관련된 자세한 정보는 공식 Microsoft 설명서를 참조하세요.
위 내용은 .NET에서 소켓 연결 시간 초과를 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!