SocketOptionName Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce i nomi delle opzioni di configurazione.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| DontLinger | -129 | Chiudere il socket normalmente senza indugiare. |
| ExclusiveAddressUse | -5 | Consente di associare un socket per l'accesso esclusivo. |
| Debug | 1 | Registra informazioni di debug. |
| IPOptions | 1 | Specifica le opzioni IP da inserire nei datagrammi in uscita. |
| NoChecksum | 1 | Inviare datagrammi UDP con checksum impostato su zero. |
| NoDelay | 1 | Disabilita l'algoritmo Nagle di unione dei pacchetti in invio. |
| AcceptConnection | 2 | Il socket è in ascolto. |
| BsdUrgent | 2 | Usare dati urgenti come definito in RFC-1222. Questa opzione può essere impostata una sola volta; dopo che è impostato, non può essere disattivato. |
| Expedited | 2 | Usare i dati accelerati come definito in RFC-1222. Questa opzione può essere impostata una sola volta; dopo che è impostato, non può essere disattivato. |
| HeaderIncluded | 2 | Indica che l'applicazione fornisce l'intestazione IP per i datagrammi in uscita. |
| TypeOfService | 3 | Modificare il tipo di intestazione IP del campo del servizio. |
| IpTimeToLive | 4 | Impostare il campo Time-to-Live dell'intestazione IP. |
| ReuseAddress | 4 | Consente di associare il socket a un indirizzo già in uso. |
| KeepAlive | 8 | Usare keep-alive. |
| MulticastInterface | 9 | Impostare l'interfaccia per i pacchetti multicast in uscita. |
| MulticastTimeToLive | 10 | Durata multicast IP. |
| MulticastLoopback | 11 | Loopback multicast IP. |
| AddMembership | 12 | Aggiungere un'appartenenza a un gruppo IP. |
| DropMembership | 13 | Eliminare un'appartenenza a un gruppo IP. |
| DontFragment | 14 | Non frammentare i datagrammi IP. |
| AddSourceMembership | 15 | Aggiungere un gruppo di origine. |
| DontRoute | 16 | Non instradare; inviare il pacchetto direttamente agli indirizzi dell'interfaccia. |
| DropSourceMembership | 16 | Eliminare un gruppo di origine. |
| BlockSource | 17 | Bloccare i dati da un'origine. |
| UnblockSource | 18 | Sbloccare un'origine bloccata in precedenza. |
| PacketInformation | 19 | Restituisce informazioni sui pacchetti ricevuti. |
| ChecksumCoverage | 20 | Impostare o ottenere la copertura del checksum UDP. |
| HopLimit | 21 | Specifica il numero massimo di hop router per un pacchetto IPv6 (Internet Protocol versione 6). Questo è simile al TTL (Time to Live) per il protocollo Internet versione 4. |
| IPProtectionLevel | 23 | Abilita la restrizione di un socket IPv6 a un ambito specificato, ad esempio indirizzi con lo stesso prefisso locale del sito o locale del collegamento. Questa opzione socket consente alle applicazioni di applicare restrizioni di accesso ai socket IPv6. Tali restrizioni consentono a un'applicazione in esecuzione in una LAN privata di rafforzare in modo semplice e affidabile se stessa contro gli attacchi esterni. Questa opzione socket si estende o restringe l'ambito di un socket di ascolto, abilitando l'accesso senza restrizioni da utenti pubblici e privati quando appropriato o limitando l'accesso solo allo stesso sito, come richiesto. Questa opzione socket ha definito i livelli di protezione specificati nell'enumerazione IPProtectionLevel . |
| IPv6Only | 27 | Indica se un socket creato per la famiglia di indirizzi AF_INET6 è limitato solo alle comunicazioni IPv6. I socket creati per la famiglia di indirizzi AF_INET6 possono essere usati per le comunicazioni IPv6 e IPv4. È possibile che in alcune applicazioni sia necessario limitare l'uso di un socket creato per la famiglia di indirizzi AF_INET6 alle sole comunicazioni IPv6. Quando questo valore è diverso da zero (impostazione predefinita in Windows), è possibile usare un socket creato per la famiglia di indirizzi AF_INET6 per inviare e ricevere solo pacchetti IPv6. Quando questo valore è uguale a zero, un socket creato per la famiglia di indirizzi AF_INET6 può essere usato per inviare e ricevere pacchetti a e da un indirizzo IPv6 o IPv4. Si noti che la possibilità di interagire con un indirizzo IPv4 richiede l'uso di indirizzi IPv4 mappati. Questa opzione socket è supportata in Windows Vista o versioni successive. |
| Broadcast | 32 | Consentire l'invio di messaggi trasmessi sul socket. |
| UseLoopback | 64 | Ignorare l'hardware quando possibile. |
| Linger | 128 | Linger on close if unsent data is present. |
| OutOfBandInline | 256 | Riceve i dati fuori banda nel normale flusso di dati. |
| SendBuffer | 4097 | Specifica lo spazio totale del buffer per socket riservato per gli invii. Questo non è correlato alla dimensione massima del messaggio o alla dimensione di una finestra TCP. |
| ReceiveBuffer | 4098 | Specifica lo spazio totale del buffer per socket riservato per le ricevute. Questo non è correlato alla dimensione massima del messaggio o alla dimensione di una finestra TCP. |
| SendLowWater | 4099 | Specifica il segno d'acqua basso per Send le operazioni. |
| ReceiveLowWater | 4100 | Specifica il segno d'acqua basso per Receive le operazioni. |
| SendTimeout | 4101 | Inviare un timeout. Questa opzione si applica solo ai metodi sincroni; non ha alcun effetto sui metodi asincroni, ad esempio il BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo . |
| ReceiveTimeout | 4102 | Ricevere un timeout. Questa opzione si applica solo ai metodi sincroni; non ha alcun effetto sui metodi asincroni, ad esempio il BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo . |
| Error | 4103 | Ottiene lo stato dell'errore e cancella. |
| Type | 4104 | Ottiene il tipo di socket. |
| ReuseUnicastPort | 12295 | Indica che il sistema deve rinviare l'allocazione temporanea delle porte per le connessioni in uscita. Equivale all'uso dell'opzione Socket Winsock2 SO_REUSE_UNICASTPORT. |
| UpdateAcceptContext | 28683 | Aggiorna le proprietà di un socket accettato usando quelle di un socket esistente. Questo equivale all'uso dell'opzione socket Winsock2 SO_UPDATE_ACCEPT_CONTEXT ed è supportato solo nei socket orientati alla connessione. |
| UpdateConnectContext | 28688 | Aggiorna le proprietà di un socket connesso usando quelle di un socket esistente. Equivale all'uso dell'opzione Socket Winsock2 SO_UPDATE_CONNECT_CONTEXT ed è supportata solo sui socket orientati alla connessione. |
| MaxConnections | 2147483647 | Non supportato; genererà un'eccezione SocketException se utilizzata. |
Esempio
Nell'esempio di codice seguente viene utilizzata questa enumerazione per impostare le opzioni socket.
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
Commenti
L'enumerazione SocketOptionName definisce il nome di ogni Socket opzione di configurazione. I socket possono essere configurati con il Socket.SetSocketOption metodo .