>백엔드 개발 >C++ >.NET에서 소켓 연결 시간 초과를 설정하는 방법은 무엇입니까?

.NET에서 소켓 연결 시간 초과를 설정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-10 11:08:43537검색

How to Set Socket Connect Timeout in .NET?

.NET 애플리케이션에서 소켓 연결 시간 초과 관리

네트워크 연결 문제로 인해 소켓 연결을 설정할 때 상당한 지연이 발생할 수 있습니다. 무기한 대기를 방지하기 위해 .NET에서는 연결 시간 제한을 설정하는 메커니즘을 제공합니다. 이를 통해 네트워크 문제가 발생하더라도 애플리케이션이 효율적으로 대응할 수 있습니다.

.NET의 Socket 클래스는 연결 시간 초과를 관리하는 방법을 제공합니다. 기본 설정에서는 무기한 대기가 허용되지만 강력한 애플리케이션 동작을 위해서는 시간 제한을 구현하는 것이 중요합니다.

다음 코드 조각은 BeginConnectEndConnect을 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.