Socket.Poll 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| 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의 네트워크 추적을 참조하세요.