SocketOptionName Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les noms d’options de configuration.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Héritage
Champs
AcceptConnection | 2 | Le socket écoute. |
AddMembership | 12 | Ajoutez une appartenance à un groupe IP. |
AddSourceMembership | 15 | Rejoignez un groupe source. |
BlockSource | 17 | Bloquer les données d’une source. |
Broadcast | 32 | Autorisez l’envoi de messages de diffusion sur le socket. |
BsdUrgent | 2 | Utilisez des données urgentes définies dans RFC-1222. Cette option ne peut être définie qu’une seule fois ; une fois qu’il est défini, il ne peut pas être désactivé. |
ChecksumCoverage | 20 | Définissez ou obtenez la couverture de somme de contrôle UDP. |
Debug | 1 | Enregistrez les informations de débogage. |
DontFragment | 14 | Ne fragmentez pas les datagrammes IP. |
DontLinger | -129 | Fermez le socket correctement sans vous attarder. |
DontRoute | 16 | Ne pas acheminer ; envoyez le paquet directement aux adresses de l’interface. |
DropMembership | 13 | Supprimez l’appartenance à un groupe IP. |
DropSourceMembership | 16 | Supprimez un groupe source. |
Error | 4103 | Obtient l’état d’erreur et efface. |
ExclusiveAddressUse | -5 | Permet à un socket d’être lié pour un accès exclusif. |
Expedited | 2 | Utilisez des données accélérées telles que définies dans RFC-1222. Cette option ne peut être définie qu’une seule fois ; une fois qu’il est défini, il ne peut pas être désactivé. |
FastOpen | 15 | Active TCP Fast Open tel que défini dans RFC-7413. Le comportement observé dépend de la configuration du système d’exploitation et de l’état du cache de cookie TCP du noyau. L’activation de TFO peut avoir un impact sur l’interopérabilité et provoquer des problèmes de connectivité. |
HeaderIncluded | 2 | Indique que l’application fournit l’en-tête IP pour les datagrammes sortants. |
HopLimit | 21 | Spécifie le nombre maximal de tronçons de routeur pour un paquet IPv6 (Internet Protocol version 6). Ceci est similaire à Time to Live (TTL) pour Internet Protocol version 4. |
IPOptions | 1 | Spécifie les options IP à insérer dans les datagrammes sortants. |
IPProtectionLevel | 23 | Active la restriction d’un socket IPv6 à une étendue spécifiée, telle que les adresses avec le même préfixe local de lien ou de site. Cette option de socket permet aux applications de placer des restrictions d’accès sur des sockets IPv6. Ces restrictions permettent à une application s’exécutant sur un réseau local privé de se renforcer simplement et robustement contre les attaques externes. Cette option de socket s’étend ou limite l’étendue d’un socket d’écoute, ce qui permet un accès illimité à partir d’utilisateurs publics et privés, le cas échéant, ou limite l’accès uniquement au même site, selon les besoins. Cette option de socket a défini des niveaux de protection spécifiés dans l’énumération IPProtectionLevel. |
IpTimeToLive | 4 | Définissez le champ Time-to-Live de l’en-tête IP. |
IPv6Only | 27 | Indique si un socket créé pour la famille d’adresses AF_INET6 est limité aux communications IPv6 uniquement. Les sockets créés pour la famille d’adresses AF_INET6 peuvent être utilisés pour les communications IPv6 et IPv4. Certaines applications peuvent vouloir limiter leur utilisation d’un socket créé pour la famille d’adresses AF_INET6 aux communications IPv6 uniquement. Lorsque cette valeur est différente de zéro (valeur par défaut sur Windows), un socket créé pour la famille d’adresses AF_INET6 peut être utilisé pour envoyer et recevoir uniquement des paquets IPv6. Lorsque cette valeur est égale à zéro, un socket créé pour la famille d’adresses AF_INET6 peut être utilisé pour envoyer et recevoir des paquets vers et depuis une adresse IPv6 ou une adresse IPv4. Notez que la possibilité d’interagir avec une adresse IPv4 nécessite l’utilisation d’adresses mappées IPv4. Cette option de socket est prise en charge sur Windows Vista ou version ultérieure. |
KeepAlive | 8 | Utilisez des maintiens en vie. |
Linger | 128 | S’attarder à la fermeture si des données non persistantes sont présentes. |
MaxConnections | 2147483647 | Non pris en charge ; lève une SocketException si elle est utilisée. |
MulticastInterface | 9 | Définissez l’interface pour les paquets de multidiffusion sortants. |
MulticastLoopback | 11 | Bouclage multidiffusion IP. |
MulticastTimeToLive | 10 | Durée de multidiffusion IP en temps réel. |
NoChecksum | 1 | Envoyez des datagrammes UDP avec la somme de contrôle définie sur zéro. |
NoDelay | 1 | Désactive l’algorithme Nagle pour l’envoi de fusion. |
OutOfBandInline | 256 | Reçoit des données hors bande dans le flux de données normal. |
PacketInformation | 19 | Retourne des informations sur les paquets reçus. |
ReceiveBuffer | 4098 | Spécifie l’espace tampon total par socket réservé aux réceptions. Cela n’est pas lié à la taille maximale du message ou à la taille d’une fenêtre TCP. |
ReceiveLowWater | 4100 | Spécifie la marque d’eau faible pour les opérations de Receive. |
ReceiveTimeout | 4102 | Recevoir un délai d’attente. Cette option s’applique uniquement aux méthodes synchrones ; elle n’a aucun effet sur les méthodes asynchrones telles que la méthode BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
ReuseAddress | 4 | Permet au socket d’être lié à une adresse déjà utilisée. |
ReuseUnicastPort | 12295 | Indique que le système doit différer l’allocation de port éphémère pour les connexions sortantes. Cela équivaut à utiliser l’option de socket winsock2 SO_REUSE_UNICASTPORT. |
SendBuffer | 4097 | Spécifie l’espace tampon total par socket réservé aux envois. Cela n’est pas lié à la taille maximale du message ou à la taille d’une fenêtre TCP. |
SendLowWater | 4099 | Spécifie la marque d’eau faible pour les opérations de Send. |
SendTimeout | 4101 | Envoyez un délai d’attente. Cette option s’applique uniquement aux méthodes synchrones ; elle n’a aucun effet sur les méthodes asynchrones telles que la méthode BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
TcpKeepAliveInterval | 17 | Le nombre de secondes pendant lesquelles une connexion TCP attend une réponse keepalive avant d’envoyer une autre sonde keepalive. |
TcpKeepAliveRetryCount | 16 | Nombre de sondes TCP conservées actives qui seront envoyées avant la fin de la connexion. |
TcpKeepAliveTime | 3 | Le nombre de secondes pendant lesquelles une connexion TCP reste active/inactive avant que les sondes keepalive ne soient envoyées à distance. |
Type | 4104 | Obtient le type de socket. |
TypeOfService | 3 | Modifiez le type d’en-tête IP du champ de service. |
UnblockSource | 18 | Débloquer une source précédemment bloquée. |
UpdateAcceptContext | 28683 | Met à jour les propriétés d’un socket accepté à l’aide de celles d’un socket existant. Cela équivaut à utiliser l’option de socket winsock2 SO_UPDATE_ACCEPT_CONTEXT et est prise en charge uniquement sur les sockets orientés connexion. |
UpdateConnectContext | 28688 | Met à jour les propriétés d’un socket connecté à l’aide de celles d’un socket existant. Cela équivaut à utiliser l’option de socket SO_UPDATE_CONNECT_CONTEXT Winsock2 et n’est prise en charge que sur les sockets orientés connexion. |
UseLoopback | 64 | Contourner le matériel lorsque cela est possible. |
Exemples
L’exemple de code suivant utilise cette énumération pour définir les options de 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)
Remarques
L’énumération SocketOptionName définit le nom de chaque option de configuration Socket. Les sockets peuvent être configurés avec la méthode Socket.SetSocketOption.