다음을 통해 공유


Socket.Poll 메서드

정의

오버로드

Name Description
Poll(TimeSpan, SelectMode)

의 상태를 Socket확인합니다.

Poll(Int32, SelectMode)

의 상태를 Socket확인합니다.

Poll(TimeSpan, SelectMode)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

의 상태를 Socket확인합니다.

public:
 bool Poll(TimeSpan timeout, System::Net::Sockets::SelectMode mode);
public bool Poll(TimeSpan timeout, System.Net.Sockets.SelectMode mode);
member this.Poll : TimeSpan * System.Net.Sockets.SelectMode -> bool
Public Function Poll (timeout As TimeSpan, mode As SelectMode) As Boolean

매개 변수

timeout
TimeSpan

응답을 기다리는 시간입니다.

mode
SelectMode

값 중 SelectMode 하나입니다.

반환

매개 변수에 Socket 전달된 폴링 모드 값을 기반으로 하는 mode 상태입니다. 만료되기 전에 timeout 다음 조건이 발생하면 반환하고, 그렇지 않으면 false반환 true 합니다.

  • 예를 SelectRead들어 호출되고 연결이 보류 중인지, 데이터를 읽을 수 있는지 또는 연결이 닫혔는지, 다시 설정되었는지 또는 종료되었는지를 반환 trueListen() 합니다.
  • 의 경우SelectWrite, A 및 연결 처리 Connect 에 성공했는지 또는 데이터를 보낼 수 있는지를 반환 true 합니다.
  • 의 경우 SelectError차단되지 않고 연결이 실패한 처리 Connect 중이거나 설정되지 않은 경우 대역 외 데이터를 사용할 수 있는 경우 OutOfBandInline 반환 true 됩니다.
  • 그 외의 경우 false를 반환합니다.

예외

timeout 가 -1 밀리초보다 작거나 밀리초보다 MaxValue 큽니다.

소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket 닫혔습니다.

적용 대상

Poll(Int32, SelectMode)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

의 상태를 Socket확인합니다.

public:
 bool Poll(int microSeconds, System::Net::Sockets::SelectMode mode);
public bool Poll(int microSeconds, System.Net.Sockets.SelectMode mode);
member this.Poll : int * System.Net.Sockets.SelectMode -> bool
Public Function Poll (microSeconds As Integer, mode As SelectMode) As Boolean

매개 변수

microSeconds
Int32

응답을 기다리는 시간(마이크로초)입니다.

mode
SelectMode

값 중 SelectMode 하나입니다.

반환

매개 변수에 Socket 전달된 폴링 모드 값을 기반으로 하는 mode 상태입니다.

  • 예를 SelectRead들어 호출되고 연결이 보류 중인지, 데이터를 읽을 수 있는지 또는 연결이 닫혔는지, 다시 설정되었는지 또는 종료되었는지를 반환 trueListen() 합니다.
  • 의 경우SelectWrite, A 및 연결 처리 Connect 에 성공했는지 또는 데이터를 보낼 수 있는지를 반환 true 합니다.
  • 의 경우 SelectError차단되지 않고 연결이 실패한 처리 Connect 중이거나 설정되지 않은 경우 대역 외 데이터를 사용할 수 있는 경우 OutOfBandInline 반환 true 됩니다.
  • 그 외의 경우 false를 반환합니다.

예외

mode 매개 변수가 값 중 SelectMode 하나가 아닙니다.

소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 발언을 참조하세요.

Socket 닫혔습니다.

예제

다음 코드 예제에서는 소켓을 만들고, 서버에 연결하고, 소켓의 상태를 확인하는 데 사용합니다 Poll .

//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 }
 else if (s.Poll(-1, SelectMode.SelectRead)){
       Console.WriteLine("This Socket is readable." );
 }
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");
 }
'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
   strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
   Console.WriteLine("This Socket is writable.")
Else
   If s.Poll(- 1, SelectMode.SelectRead) Then
      Console.WriteLine(("This Socket is readable. "))
   Else
      If s.Poll(- 1, SelectMode.SelectError) Then
         Console.WriteLine("This Socket has an error.")
      End If
   End If 
End If

설명

메서드는 Poll .의 상태를 확인합니다 Socket. selectMode 읽을 수 있는지 여부를 확인할 매개 변수를 Socket 지정 SelectMode.SelectRead 합니다. 쓰기 가능 여부를 Socket 확인하도록 지정 SelectMode.SelectWrite 합니다. 오류 조건을 검색하는 데 사용합니다 SelectMode.SelectError . Poll 는 지정된 기간( 측정 microseconds, 경과 또는 데이터를 사용할 수 있게 될 때까지)까지 실행을 차단합니다. microSeconds 응답을 무기한 대기하려면 매개 변수를 음수 정수로 설정합니다. 여러 소켓의 상태를 확인하려면 이 메서드를 사용하는 Select 것이 좋습니다.

메모

받는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

메모

이 메서드는 네트워크 케이블이 끊어졌거나 원격 호스트가 비정상적으로 종료된 것과 같은 특정 종류의 연결 문제를 감지할 수 없습니다. 이러한 종류의 오류를 감지하려면 데이터를 보내거나 받아야 합니다.

메모

이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

추가 정보

적용 대상