Socket.Poll Metod

Definition

Överlagringar

Name Description
Poll(TimeSpan, SelectMode)

Avgör statusen för Socket.

Poll(Int32, SelectMode)

Avgör statusen för Socket.

Poll(TimeSpan, SelectMode)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Avgör statusen för 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

Parametrar

timeout
TimeSpan

Det är dags att vänta på ett svar.

mode
SelectMode

Ett av SelectMode värdena.

Returer

Status för Socket baserat på värdet för avsökningsläget som skickades i parametern mode . Returnerar true om något av följande villkor inträffar innan det timeout upphör att gälla, falseannars .

  • För SelectReadreturnerar true den om Listen() har anropats och en anslutning väntar, om data är tillgängliga för läsning eller om anslutningen har stängts, återställts eller avslutats.
  • För SelectWritereturneras true om bearbetningen av en Connect och anslutningen har slutförts eller om data kan skickas.
  • För SelectErrorreturneras true om bearbetningen av en Connect som inte blockerar och anslutningen har misslyckats, eller om OutOfBandInline den inte har angetts och out-of-band-data är tillgängliga.
  • Annars returneras false.

Undantag

timeout är mindre än -1 millisekunder eller större än MaxValue millisekunder.

Ett fel uppstod vid försök att komma åt socketen.

Gäller för

Poll(Int32, SelectMode)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Avgör statusen för 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

Parametrar

microSeconds
Int32

Det är dags att vänta på ett svar i mikrosekunder.

mode
SelectMode

Ett av SelectMode värdena.

Returer

Status för Socket baserat på värdet för avsökningsläget som skickades i parametern mode .

  • För SelectReadreturnerar true den om Listen() har anropats och en anslutning väntar, om data är tillgängliga för läsning eller om anslutningen har stängts, återställts eller avslutats.
  • För SelectWritereturneras true om bearbetningen av en Connect och anslutningen har slutförts eller om data kan skickas.
  • För SelectErrorreturneras true om bearbetningen av en Connect som inte blockerar och anslutningen har misslyckats, eller om OutOfBandInline den inte har angetts och out-of-band-data är tillgängliga.
  • Annars returneras false.

Undantag

Parametern mode är inte ett av SelectMode värdena.

Ett fel uppstod vid försök att komma åt socketen. Se kommentarer nedan.

Exempel

Följande kodexempel skapar en socket, ansluter till en server och använder Poll för att kontrollera socketens status.

//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

Kommentarer

Metoden Poll kontrollerar tillståndet för Socket. Ange SelectMode.SelectRead för parametern selectMode för att avgöra om är Socket läsbar. Ange SelectMode.SelectWrite för att avgöra om är Socket skrivbart. Använd SelectMode.SelectError för att identifiera ett feltillstånd. Poll blockerar körningen tills den angivna tidsperioden, mätt i microseconds, förflutit eller data blir tillgängliga. Ange parametern microSeconds till ett negativt heltal om du vill vänta på obestämd tid för ett svar. Om du vill kontrollera statusen för flera socketar kanske du föredrar att använda Select metoden.

Note

Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Note

Den här metoden kan inte identifiera vissa typer av anslutningsproblem, till exempel en trasig nätverkskabel, eller att fjärrvärden stängdes av felaktigt. Du måste försöka skicka eller ta emot data för att identifiera den här typen av fel.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Se även

Gäller för