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
AcceptConnection | 2 | Il socket è in ascolto. |
AddMembership | 12 | Aggiungere un'appartenenza a un gruppo IP. |
AddSourceMembership | 15 | Aggiungere un gruppo di origine. |
BlockSource | 17 | Bloccare i dati da un'origine. |
Broadcast | 32 | Consentire l'invio di messaggi trasmessi sul socket. |
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. |
ChecksumCoverage | 20 | Impostare o ottenere la copertura del checksum UDP. |
Debug | 1 | Registrare le informazioni di debug. |
DontFragment | 14 | Non frammentare i datagrammi IP. |
DontLinger | -129 | Chiudere il socket normalmente senza indugiare. |
DontRoute | 16 | Non instradare; inviare il pacchetto direttamente agli indirizzi dell'interfaccia. |
DropMembership | 13 | Eliminare un'appartenenza a un gruppo IP. |
DropSourceMembership | 16 | Eliminare un gruppo di origine. |
Error | 4103 | Ottiene lo stato dell'errore e cancella. |
ExclusiveAddressUse | -5 | Consente di associare un socket per l'accesso esclusivo. |
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. |
FastOpen | 15 | Abilita TCP Fast Open come definito in RFC-7413. Il comportamento osservato effettivo dipende dalla configurazione del sistema operativo e dallo stato della cache dei cookie TCP del kernel. L'abilitazione di TFO può influire sull'interoperabilità e causare problemi di connettività. |
HeaderIncluded | 2 | Indica che l'applicazione fornisce l'intestazione IP per i datagrammi in uscita. |
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. |
IPOptions | 1 | Specifica le opzioni IP da inserire nei datagrammi in uscita. |
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 livelli di protezione specificati nell'enumerazione IPProtectionLevel. |
IpTimeToLive | 4 | Impostare il campo Time-to-Live dell'intestazione IP. |
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. Alcune applicazioni potrebbero voler limitare l'uso di un socket creato per la famiglia di indirizzi AF_INET6 solo alle comunicazioni IPv6. Quando questo valore è diverso da zero (impostazione predefinita in Windows), un socket creato per la famiglia di indirizzi AF_INET6 può essere usato solo per inviare e ricevere pacchetti IPv6. Quando questo valore è zero, è possibile usare un socket creato per la famiglia di indirizzi AF_INET6 per inviare e ricevere pacchetti da e verso un indirizzo IPv6 o un indirizzo IPv4. Si noti che la possibilità di interagire con un indirizzo IPv4 richiede l'uso di indirizzi mappati IPv4. Questa opzione socket è supportata in Windows Vista o versioni successive. |
KeepAlive | 8 | Usare keep-alive. |
Linger | 128 | Linger on close if unsent data is present. |
MaxConnections | 2147483647 | Non supportato; genererà un SocketException se usato. |
MulticastInterface | 9 | Impostare l'interfaccia per i pacchetti multicast in uscita. |
MulticastLoopback | 11 | Loopback multicast IP. |
MulticastTimeToLive | 10 | Durata multicast IP. |
NoChecksum | 1 | Inviare datagrammi UDP con checksum impostato su zero. |
NoDelay | 1 | Disabilita l'algoritmo Nagle per l'invio dell'unione. |
OutOfBandInline | 256 | Riceve i dati fuori banda nel normale flusso di dati. |
PacketInformation | 19 | Restituisce informazioni sui pacchetti ricevuti. |
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. |
ReceiveLowWater | 4100 | Specifica il segno d'acqua basso per le operazioni di Receive. |
ReceiveTimeout | 4102 | Ricevere un timeout. Questa opzione si applica solo ai metodi sincroni; non ha alcun effetto sui metodi asincroni, ad esempio il metodo BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
ReuseAddress | 4 | Consente di associare il socket a un indirizzo già in uso. |
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. |
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. |
SendLowWater | 4099 | Specifica il segno d'acqua basso per le operazioni di Send. |
SendTimeout | 4101 | Inviare un timeout. Questa opzione si applica solo ai metodi sincroni; non ha alcun effetto sui metodi asincroni, ad esempio il metodo BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
TcpKeepAliveInterval | 17 | Il numero di secondi di attesa di una connessione TCP per una risposta keepalive prima di inviare un altro probe keepalive. |
TcpKeepAliveRetryCount | 16 | Numero di probe keep-alive TCP che verranno inviati prima che la connessione venga terminata. |
TcpKeepAliveTime | 3 | Il numero di secondi per cui una connessione TCP rimarrà attiva/inattiva prima che i probe keepalive vengano inviati al remoto. |
Type | 4104 | Ottiene il tipo di socket. |
TypeOfService | 3 | Modificare il tipo di intestazione IP del campo del servizio. |
UnblockSource | 18 | Sbloccare un'origine bloccata in precedenza. |
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. |
UseLoopback | 64 | Ignorare l'hardware quando possibile. |
Esempio
Nell'esempio di codice seguente viene utilizzata questa enumerazione per impostare le opzioni socket.
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// 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 opzione di configurazione Socket. I socket possono essere configurati con il metodo Socket.SetSocketOption.