Socket.Poll Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ö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
trueden 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
trueom bearbetningen av en Connect och anslutningen har slutförts eller om data kan skickas. - För SelectErrorreturneras
trueom 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.
Har Socket stängts.
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
trueden 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
trueom bearbetningen av en Connect och anslutningen har slutförts eller om data kan skickas. - För SelectErrorreturneras
trueom 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.
Har Socket stängts.
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.