Le tableau suivant décrit les options de socket _ TCP IPPROTO qui s’appliquent aux sockets créés pour les familles d’adresses IPv4 et IPv6 (AF _ inet et AF _ inet6) avec le paramètre de protocole à la fonction de Socket spécifiée en tant que TCP (IPPROTO _ TCP). Consultez les pages de référence des fonctions getsockopt et setsockopt pour plus d’informations sur l’obtention et la définition des options de Socket.
Si la valeur est true, le fournisseur de services implémente le style BSD (Berkeley Software Distribution) (par défaut) pour la gestion des données expédiées. Cette option est l’inverse de l’option TCP_EXPEDITED_1122. Cette option ne peut être définie qu’une seule fois sur la connexion. Une fois cette option activée, cette option ne peut pas être désactivée. Cette option ne doit pas être implémentée par les fournisseurs de services. Par défaut, l’option est activée (définie à true).
TCP_EXPEDITED_1122
Oui
Oui
DWORD (booléen)
Si la valeur est true, le fournisseur de services implémente les données expédiées comme spécifié dans le document RFC-1222. Dans le cas contraire, le style BSD (Berkeley Software Distribution) (par défaut) est utilisé. Cette option ne peut être définie qu’une seule fois sur la connexion. Une fois cette option activée, cette option ne peut pas être désactivée. Cette option ne doit pas être implémentée par les fournisseurs de services.
TCP_FAIL_CONNECT_ON_ICMP_ERROR
Oui
Oui
DWORD (booléen)
Si la valeur est true, un appel d’API Connect retourne la réception d’une erreur ICMP avec la valeur WSAEHOSTUNREACH. L’adresse source de l’erreur sera ensuite disponible via l’option TCP_ICMP_ERROR_INFO Socket. Si la valeur est false, le socket se comporte normalement. La valeur par défaut est Disabled ( false). Pour la sécurité de type, vous devez utiliser les fonctions WSAGetFailConnectOnIcmpError et WSASetFailConnectOnIcmpError au lieu d’utiliser directement l’option de Socket.
Récupère les informations d’une erreur ICMP reçue par le socket TCP pendant un appel de connexion ayant échoué. Valide uniquement sur un socket TCP où TCP_FAIL_CONNECT_ON_ICMP_ERROR a déjà été activé, et Connect a retourné WSAEHOSTUNREACH. La requête est non bloquante. Si la requête a réussi et que la valeur optlen retournée est 0, aucune erreur ICMP n’a été reçue depuis le dernier appel de connexion. Si une erreur ICMP a été reçue, ses informations sont disponibles jusqu’à ce que la connexion soit à nouveau appelée. Les informations sont retournées sous la forme d’une structure ICMP_ERROR_INFO . Pour la sécurité de type, vous devez utiliser la fonction WSAGetIcmpErrorInfo au lieu d’utiliser directement l’option de Socket.
TCP_KEEPCNT
Oui
Oui
DWORD
Obtient ou définit le nombre de sondes KeepAlive TCP qui seront envoyées avant que la connexion ne soit terminée. Il n’est pas conforme de définir TCP_KEEPCNT sur une valeur supérieure à 255.
TCP_MAXRT
Oui
Oui
DWORD
Si cette valeur n’est pas négative, elle représente le délai de connexion souhaité en secondes. Si la valeur est-1, elle représente une demande de désactivation du délai d’expiration de la connexion (c’est-à-dire que la connexion est retransmise définitivement). Si le délai de connexion est désactivé, le délai d’attente de retransmission augmente de façon exponentielle pour chaque retransmission jusqu’à sa valeur maximale de 60sec, puis reste là.
TCP_NODELAY
Oui
Oui
DWORD (booléen)
Active ou désactive l’algorithme Nagle pour les sockets TCP. Cette option est désactivée (définie sur FALSe) par défaut.
TCP_TIMESTAMPS
Oui
Oui
DWORD (booléen)
Active ou désactive les horodatages RFC 1323. Notez qu’il existe également une configuration globale pour les horodateurs (la valeur par défaut est OFF), les " horodateurs " dans (Set/obten)-nettcpsetting. La définition de cette option de socket remplace ce paramètre de configuration globale.
TCP_FASTOPEN
Oui
Oui
DWORD (booléen)
Active ou désactive la RFC 7413 TCP Fast Open, qui vous permet de commencer à envoyer des données pendant la phase de négociation triple de l’ouverture d’une connexion. Notez que pour utiliser des ouvertures rapides, vous devez utiliser ConnectEx pour établir la connexion initiale et spécifier les données dans le paramètre lpSendBuffer de cette fonction à transférer au cours du processus d’établissement de liaison. Certaines des données de lpSendBuffer seront transférées sous le protocole Fast Open.
TCP_KEEPIDLE
Oui
Oui
DWORD
Obtient ou définit le nombre de secondes pendant lesquelles une connexion TCP reste inactive avant que les sondes KeepAlive soient envoyées à l’adresse distante.
[!Note]
cette option est disponible à partir de Windows 10, version 1709.
TCP_KEEPINTVL
Oui
Oui
DWORD
Obtient ou définit le nombre de secondes qu’une connexion TCP attendra pour une réponse KeepAlive avant d’envoyer une autre sonde KeepAlive.
[!Note]
cette option est disponible à partir de Windows 10, version 1709.
prise en charge Windows pour les _ options TCP IPPROTO
Option
Windows 10
Windows 7
Windows Server 2008
Windows Vista
_BSDURGENT TCP
x
x
x
x
TCP _ expédié _ 1122
x
x
x
x
_KEEPCNT TCP
à partir de Windows 10, version 1703
_MAXRT TCP
x
x
x
x
TCP- _ délai
x
x
x
x
_horodateurs TCP
x
x
x
x
_FASTOPEN TCP
à partir de Windows 10, version 1607
Option
Windows Server 2003
Windows XP
Windows 2000
Windows 4
Windows 9x/Me
_BSDURGENT TCP
x
x
x
x
TCP _ expédié _ 1122
x
x
x
_KEEPCNT TCP
_MAXRT TCP
TCP- _ délai
x
x
x
x
_horodateurs TCP
_FASTOPEN TCP
Notes
dans le kit de développement logiciel (SDK) Microsoft Windows publié pour Windows Vista et versions ultérieures, l’organisation des fichiers d’en-tête a changé et le niveau _ TCP IPPROTO est défini dans le fichier d’en-tête Ws2def. h qui est automatiquement inclus dans le fichier d’en-tête Winsock2. h . Les options de socket _ TCP IPPROTO , à l’exception de TCP _ BSDURGENT, sont définies dans le fichier d’en-tête Ws2ipdef. h qui est automatiquement inclus dans le fichier d’en-tête Ws2tcpip. h . L’option TCP _ BSDURGENT pour les raisons historiques est définie dans le fichier d’en-tête mswsock. h . Les fichiers d’en-tête Ws2def. h et Ws2ipdef. h ne doivent jamais être utilisés directement.
Spécifications
Condition requise
Valeur
En-tête
Ws2def. h (inclure Winsock2. h);
Winsock2. h sur Windows Server 2003, Windows XP et Windows 2000