Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
0 di 1 hanno valutato il contenuto utile: - Valuta questo argomento

Metodo Socket.Poll

Determina lo stato del Socket.

Spazio dei nomi:  System.Net.Sockets
Assembly:  System (in System.dll)
public bool Poll(
	int microSeconds,
	SelectMode mode
)

Parametri

microSeconds
Tipo: System.Int32
Tempo di attesa per una risposta, espresso in microsecondi.
mode
Tipo: System.Net.Sockets.SelectMode
Uno dei valori di SelectMode.

Valore restituito

Tipo: System.Boolean
Stato dell'oggetto Socket in base al valore della modalità di polling passato nel parametro mode.

Modalità

Valore restituito

SelectRead

true se è stato chiamato il metodo Listen e vi è una connessione in sospeso;

In alternativa

true se sono disponibili dati per la lettura

In alternativa

true se la connessione è stata chiusa, ripristinata o terminata.

In caso contrario, restituisce false.

SelectWrite

true se viene elaborato un metodo Connect e la connessione ha avuto esito positivo;

In alternativa

true se possono essere inviati dati;

In caso contrario, restituisce false.

SelectError

true se viene elaborato un metodo Connect che non si blocca e la connessione ha avuto esito negativo;

In alternativa

true se non è stata impostata l'opzione OutOfBandInline e sono disponibili dati fuori banda;

In caso contrario, restituisce false.

EccezioneCondizione
NotSupportedException

Il parametro mode non è uno dei valori di SelectMode.

SocketException

Si è verificato un errore durante il tentativo di accesso al socket. Vedere la sezione Osservazioni riportata di seguito.

ObjectDisposedException

L'oggetto Socket è stato chiuso.

Il metodo Poll verifica lo stato dell'oggetto Socket. Per determinare se l'oggetto Socket è leggibile, specificare SelectMode.SelectRead per il parametro selectMode. Per determinare se l'oggetto Socket è scrivibile, specificare SelectMode.SelectWrite. Utilizzare SelectMode.SelectError per rilevare una condizione di errore. Poll si bloccherà fino allo scadere del periodo di tempo specificato, in microseconds. Impostare microSeconds su un intero negativo se si desidera attendere una risposta per un tempo indeterminato. Per verificare lo stato di più socket, è consigliabile utilizzare il metodo Select.

NotaNota

Se si riceve un oggetto SocketException, utilizzare la proprietà SocketException.ErrorCode per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, fare riferimento alla documentazione relativa ai codici di errore dell'API di Windows Sockets versione 2 disponibile in MSDN Library.

NotaNota

Questo metodo non è in grado di rilevare alcuni tipi di problemi di connessione, ad esempio un cavo di rete danneggiato o l'arresto non corretto dell'host remoto. Per rilevare questo tipo di errori, è necessario tentare di inviare o ricevere dati.

NotaNota

Questo membro genera informazioni di traccia quando si attiva la tracciatura della rete nell'applicazione. Per ulteriori informazioni, vedere Tracciatura della rete.

Nell'esempio di codice riportato di seguito viene creato un socket, eseguita la connessione a un server e utilizzato Poll per verificare lo stato del socket.


    //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.");
     }



.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.