SocketOptionName Enumerazione

Definizione

Definisce i nomi delle opzioni di configurazione.

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
Public Enum SocketOptionName
Ereditarietà
SocketOptionName

Campi

AcceptConnection 2

Il socket è in ascolto.

AddMembership 12

Aggiunge un'appartenenza a un gruppo IP.

AddSourceMembership 15

Unisce a un gruppo di origine.

BlockSource 17

Blocca i dati da un'origine.

Broadcast 32

Consente l'invio di messaggi trasmessi sul socket.

BsdUrgent 2

Usa dati urgenti come definito in RFC-1222. Questa opzione può essere impostata una sola volta. Dopo essere stata impostata, non può essere disattivata.

ChecksumCoverage 20

Imposta o ottiene la copertura checksum UDP.

Debug 1

Registra informazioni di debug.

DontFragment 14

Non frammenta i datagrammi IP.

DontLinger -129

Chiude normalmente il socket senza tempo di ritardo.

DontRoute 16

Non effettua il routing e invia il pacchetto direttamente agli indirizzi di interfaccia.

DropMembership 13

Rilasciare un'appartenenza a un gruppo IP.

DropSourceMembership 16

Rilascia un gruppo di origine.

Error 4103

Ottiene ed elimina lo stato di errore.

ExclusiveAddressUse -5

Abilita l'associazione di un socket per l'accesso esclusivo.

Expedited 2

Usa dati accelerati come definito in RFC-1222. Questa opzione può essere impostata una sola volta. Dopo essere stata impostata, non può essere disattivata.

HeaderIncluded 2

Indica che l'applicazione fornisce l'intestazione IP per i datagrammi in uscita.

HopLimit 21

Specifica il numero massimo di hop del router per un pacchetto IPv6. È simile alla durata (TTL) per IPv4.

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 collegamento o locale del sito. Questa opzione socket consente alle applicazioni di applicare restrizioni di accesso ai socket IPv6. Tali restrizioni consentono a un'applicazione in esecuzione su una LAN privata di proteggersi in modo semplice e affidabile da attacchi esterni. Questa opzione socket allarga o restringe l'ambito di un socket in attesa, consentendo l'accesso illimitato di utenti pubblici e privati, laddove appropriato, o limitando l'accesso solo al medesimo sito, secondo le necessità. Questa opzione socket ha definito i livelli di protezione specificati nell'enumerazione IPProtectionLevel.

IpTimeToLive 4

Imposta il campo della durata 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. È 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 (l'impostazione predefinita in Windows), un socket creato per la famiglia di indirizzi AF_INET6 può essere usato 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.

KeepAlive 8

Usa keep-alive.

Linger 128

Ritarda la chiusura se sono presenti dati non inviati.

MaxConnections 2147483647

Non supportata; se usata, genera una SocketException.

MulticastInterface 9

Imposta l'interfaccia per i pacchetti multicast in uscita.

MulticastLoopback 11

Loopback dell'IP multicast.

MulticastTimeToLive 10

Durata di un IP multicast.

NoChecksum 1

Invia datagrammi UDP con checksum impostato su zero.

NoDelay 1

Disabilita l'algoritmo Nagle di unione dei pacchetti in invio.

OutOfBandInline 256

Riceve dati fuori banda nel flusso dei dati normali.

PacketInformation 19

Restituisce informazioni sui pacchetti ricevuti.

ReceiveBuffer 4098

Specifica lo spazio totale di buffer per socket che deve essere riservato alle ricezioni. Non esiste alcuna relazione con la dimensione massima dei messaggi o con la dimensione della finestra TCP.

ReceiveLowWater 4100

Specifica il limite minimo 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 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo .

ReuseAddress 4

Consente al socket di essere associato a un indirizzo già in uso.

ReuseUnicastPort 12295

Indica che il sistema deve rinviare l'allocazione delle porte temporanee per le connessioni in uscita. Ciò equivale all'uso dell'opzione socket Winsock2 SO_REUSE_UNICASTPORT.

SendBuffer 4097

Specifica lo spazio totale di buffer per socket che deve essere riservato agli invii. Non esiste alcuna relazione con la dimensione massima dei messaggi o con la dimensione della finestra TCP.

SendLowWater 4099

Specifica il limite minimo 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 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo .

TcpKeepAliveInterval 17

Numero di secondi di attesa di una connessione TCP per una risposta keep-alive prima di inviare un altro probe keep-alive.

TcpKeepAliveRetryCount 16

Numero di probe keep-alive TCP che verranno inviati prima che la connessione venga terminata.

TcpKeepAliveTime 3

Numero di secondi per cui una connessione TCP rimarrà attiva/inattiva prima dell'invio di probe keep-alive al computer remoto.

Type 4104

Ottiene il tipo di socket.

TypeOfService 3

Modifica il campo relativo al tipo di servizio dell'intestazione IP.

UnblockSource 18

Sblocca un'origine precedentemente bloccata.

UpdateAcceptContext 28683

Aggiorna le proprietà di un socket accettato usando quelle di un socket esistente. Equivale a usare l'opzione socket Winsock2 SO_UPDATE_ACCEPT_CONTEXT ed è supportata solo sui socket orientati alla connessione.

UpdateConnectContext 28688

Aggiorna le proprietà di un socket connesso usando quelle di un socket esistente. Equivale a usare l'opzione socket Winsock2 SO_UPDATE_CONNECT_CONTEXT ed è supportata solo sui socket orientati alla connessione.

UseLoopback 64

Ignora l'hardware quando possibile.

Esempio

Nell'esempio di codice seguente viene usata questa enumerazione per impostare le opzioni socket.

// Specifies that send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 .

Si applica a

Vedi anche