Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Socket.IOControl (IOControlCode, Byte[], Byte[])

 

Data di pubblicazione: ottobre 2016

Imposta modalità operative di basso livello per il Socket utilizzando il IOControlCode enumerazione per specificare i codici di controllo.

Spazio dei nomi:   System.Net.Sockets
Assembly:  System (in System.dll)

public int IOControl(
	IOControlCode ioControlCode,
	byte[] optionInValue,
	byte[] optionOutValue
)

Parametri

ioControlCode
Type: System.Net.Sockets.IOControlCode

Oggetto IOControlCode valore che specifica il codice di controllo di operazione da eseguire.

optionInValue
Type: System.Byte[]

Matrice di tipo Byte che contiene i dati di input richiesti dall'operazione.

optionOutValue
Type: System.Byte[]

Matrice di tipo Byte che contiene i dati di output restituiti dall'operazione.

Valore restituito

Type: System.Int32

Il numero di byte di optionOutValue parametro.

Exception Condition
SocketException

Si è verificato un errore durante il tentativo di accesso al socket. Per altre informazioni, vedere la sezione Osservazioni.

ObjectDisposedException

L'oggetto Socket è stato chiuso.

InvalidOperationException

Si è verificato un tentativo di modificare la modalità di blocco senza utilizzare il Blocking proprietà.

Questo metodo fornisce l'accesso di basso livello per il sistema operativo Socket sottostante l'istanza corrente della Socket classe. Per ulteriori informazioni, vedere la documentazione WSAIoctl in MSDN library.

System_CAPS_noteNota

Se si riceve un SocketException, utilizzare il SocketException.ErrorCode proprietà per ottenere il codice di errore specifico. Dopo avere ottenuto il codice, fare riferimento alla versione di Windows Sockets API errore codice documentazione 2 in MSDN library per una descrizione dettagliata dell'errore.

System_CAPS_noteNota

Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Tracciatura di rete in .NET Framework.

Esempio di codice seguente vengono confrontati i risultati della chiamata al metodo IOControl con DataToRead e Available proprietà.

static void DisplayPendingByteCount(Socket s)
{
    byte[] outValue = BitConverter.GetBytes(0);

    // Check how many bytes have been received.
    s.IOControl(IOControlCode.DataToRead, null, outValue);

    uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
    Console.Write("server has {0} bytes pending. ", 
        bytesAvailable);
    Console.WriteLine("Available property says {1}.",
                     s.Available);

    return;
}

SecurityPermission

to execute unmanaged code. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode.

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: