Options de socket de socket SOL _
Les tableaux suivants décrivent les options de socket de socket sol _ . 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.
Pour énumérer les protocoles et découvrir les propriétés prises en charge pour chaque protocole installé, utilisez la fonction WSAEnumProtocols, WSCEnumProtocolsou WSCEnumProtocols32 .
Certaines options de socket requièrent plus d’explications que celles pouvant être transmises par ces tables. ces options contiennent des liens vers des pages supplémentaires.
Notes
Toutes les options de socket de socket sol _ s’appliquent également à IPv4 et IPv6 (à l’exception de la _ diffusion, puisque la diffusion n’est pas implémentée dans IPv6).
Options de socket de socket SOL _
| Option | Obtenir | Définissez | Type Optval | Description |
|---|---|---|---|---|
| configuration de PVD _ | Oui | Oui | Char [] | Objet de structure de données opaque contenant les informations de configuration du fournisseur de services. Cette option dépend de l’implémentation. |
| _ACCEPTCONN | Oui | DWORD (booléen) | Retourne une valeur indiquant si un socket est en mode d’écoute. Cette option n’est valide que pour les protocoles orientés connexion. | |
| _diffusion | Oui | Oui | DWORD (booléen) | Configurez un socket pour l’envoi de données de diffusion. Cette option est valide uniquement pour les protocoles qui prennent en charge la diffusion (IPX et UDP, par exemple). |
| par conséquent, _ _ État BSP | Oui | _informations CSADDR | Retourne l’adresse locale, le port local, l’adresse distante, le port distant, le type de socket et le protocole utilisés par un Socket. Pour plus d’informations, consultez les informations de référence sur l' _ _ État BSP . | |
| _accepter l' _ acceptation conditionnelle | Oui | Oui | DWORD (booléen) | Indique si les connexions entrantes doivent être acceptées ou rejetées par l’application, et non par la pile de protocole. Pour plus d’informations, consultez la référence relative à l' _ _ acceptation conditionnelle . |
| _CONNDATA | Oui | Oui | Char [] | Données supplémentaires, et non dans le flux de données réseau normal, qui sont envoyées avec les demandes réseau pour établir une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. |
| _CONNDATALEN | Oui | DWORD | Longueur, en octets, des données supplémentaires, et non dans le flux de données réseau normal, qui sont envoyées avec les demandes réseau pour établir une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. | |
| _temps de connexion _ | Oui | DWORD | Retourne le nombre de secondes pendant lesquelles un socket a été connecté. Cette option n’est valide que pour les protocoles orientés connexion. | |
| _CONNOPT | Oui | Oui | Char [] | Les données d’option de connexion supplémentaires, et non dans le flux de données réseau normal, sont envoyées avec les demandes réseau pour établir une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. |
| _CONNOPTLEN | Oui | DWORD | Longueur, en octets, des données de l’option de connexion, et non dans le flux de données réseau normal, qui est envoyée avec les demandes réseau pour établir une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. | |
| _DISCDATA | Oui | Oui | Char [] | Données supplémentaires, et non dans le flux de données réseau normal, qui sont envoyées avec les demandes réseau pour déconnecter une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. |
| _DISCDATALEN | Oui | DWORD | Longueur, en octets, des données supplémentaires, et non dans le flux de données réseau normal, envoyées avec les demandes réseau pour déconnecter une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. | |
| _DISCOPT | Oui | Oui | Char [] | Données supplémentaires de l’option de déconnexion, et non dans le flux de données réseau normal, qui sont envoyées avec les demandes réseau pour déconnecter une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. |
| _DISCOPTLEN | Oui | DWORD | Longueur, en octets, des données d’option de déconnexion supplémentaires, et non dans le flux de données réseau normal, qui sont envoyées avec les demandes réseau pour déconnecter une connexion. Cette option est utilisée par les protocoles hérités, tels que DECnet, OSI TP4 et d’autres. Cette option n’est pas prise en charge par le protocole TCP/IP dans Windows. | |
| _Déboguer | Oui | Oui | DWORD (booléen) | Activez la sortie de débogage. Les fournisseurs Microsoft ne génèrent actuellement aucune information de débogage. |
| _DONTLINGER | Oui | Oui | DWORD (booléen) | Indique l’état du membre de l _ microphone de la structure de l’élément de maintien associé à un Socket. Si ce membre est différent de zéro, un socket reste ouvert pendant un laps de temps spécifié après l’appel d’une fonction opération closesocket pour permettre l’envoi des données en file d’attente. Cette option n’est valide que pour les protocoles fiables orientés connexion. |
| _DONTROUTE | Oui | Oui | DWORD (booléen) | Indique que les données sortantes doivent être envoyées sur toute interface à laquelle le socket est lié et non sur une autre interface. Cette option est valide uniquement pour les protocoles orientés message. Les fournisseurs Microsoft ignorent cette option et consultent toujours la table de routage pour trouver l’interface sortante appropriée. |
| _erreur | Oui | DWORD | Retourne le dernier code d’erreur sur ce Socket. Ce code d’erreur par socket n’est pas toujours défini immédiatement. | |
| _EXCLUSIVEADDRUSE | Oui | Oui | DWORD (booléen) | Empêche tout autre socket de se lier à la même adresse et au même port. Cette option doit être définie avant d’appeler la fonction Bind . Pour plus d’informations, consultez la référence _ EXCLUSIVEADDRUSE . |
| _ID de groupe _ | Oui | nombre entier non signé | Cette option de socket est réservée et ne doit pas être utilisée. | |
| _priorité de groupe _ | Oui | Oui | int | Cette option de socket est réservée et ne doit pas être utilisée. |
| _KeepAlive | Oui | Oui | DWORD (booléen) | Active Keep-Alive pour une connexion de Socket. Valide uniquement pour les protocoles qui prennent en charge la notion de Keep-Alive (protocoles orientés connexion). Pour TCP, le délai d’expiration de la conservation par défaut est de 2 heures et l’intervalle de maintien de l’activité est de 1 seconde. Le nombre par défaut de sondes KeepAlive varie en fonction de la version de Windows. Pour plus d’informations, consultez la référence _ KeepAlive so . |
| DONC _ | Oui | Oui | en-dessous du struct | Indique l’état de la structure de Lingo associée à un Socket. Si le membre _ microphone de la structure Lingo est différent de zéro, un socket reste ouvert pendant un laps de temps spécifié après un appel de fonction opération closesocket pour permettre l’envoi des données en file d’attente. La durée, en secondes, à rester ouverte est spécifiée dans le membre de en-dessous de la _ structure de Lingo . Cette option n’est valide que pour les protocoles fiables orientés connexion. |
| _taille maximale des _ messages _ | Oui | DWORD | Retourne la taille maximale des messages sortants pour les sockets orientés message pris en charge par le protocole. N’a aucune signification pour les sockets orientés flux. | |
| _MAXDG | Oui | DWORD | Retourne la taille maximale, en octets, des datagrammes sortants pris en charge par le protocole. Cette option de socket n’a aucune signification pour les sockets orientés flux. | |
| _MAXPATHDG | Oui | DWORD | Retourne la taille maximale, en octets, des datagrammes sortants pris en charge par le protocole à une adresse de destination donnée. Cette option de socket n’a aucune signification pour les sockets orientés flux. Les fournisseurs Microsoft peuvent le traiter sans assistance comme _ MAXDG. | |
| _OOBINLINE | Oui | Oui | DWORD (booléen) | Indique que les données hors liaison doivent être retournées en ligne avec des données régulières. Cette option est valide uniquement pour les protocoles orientés connexion qui prennent en charge les données hors bande. |
| DONC _ OpenType | Oui | Oui | DWORD | Une fois défini, détermine si les sockets suivants qui sont créés ne seront pas superposés. Les valeurs possibles pour cette option sont une _ alerte synchrone et donc une absence d' _ _ _ alerte synchrone. Cette option ne doit pas être utilisée. Utilisez à la place la fonction WSASocket et laissez _ le _ bit de chevauchement de l’indicateur WSA dans le paramètre dwFlags désactivé. |
| DONC _ suspendre l' _ acceptation | Oui | Oui | DWORD (booléen) | Utilisez cette option pour les sockets d’écoute. Lorsque l’option est définie, le socket répond à toutes les connexions entrantes avec RST au lieu de les accepter. |
| _ _ l’évolutivité des ports | Oui | Oui | DWORD (booléen) | Active l’extensibilité de port local pour un socket en permettant l’optimisation de l’allocation de port en allouant plusieurs fois des ports génériques pour différentes paires de ports d’adresse locale sur un ordinateur local. Sur les plateformes où les deux options sont disponibles, il est préférable _ de réutiliser _ UNICASTPORT au lieu de cette option. Pour plus d’informations, consultez Référence de la _ mise à _ l’échelle des ports . |
| _informations de protocole _ | Oui | _informations WSAPROTOCOL | Cette option est définie sur l' _ option de socket de protocole _ INFOW si la macro Unicode est définie. Si la macro UNICODE n’est pas définie, cette option est définie sur l' _ option de _ Socket so. | |
| par conséquent, les _ informations de protocole _ | Oui | WSAPROTOCOL _ infoa | Retourne la structure WSAPROTOCOL _ infoa pour le socket donné. | |
| _INFOW de protocole _ | Oui | WSAPROTOCOL _ INFOW | Retourne la structure _ INFOW WSAPROTOCOL pour le socket donné. | |
| _ _ port aléatoire | Oui | Oui | DWORD (booléen) | Cette option doit être définie sur un socket indépendant. Lorsque _ _ le port aléatoire est défini et qu’un port éphémère est sélectionné sur le socket, un numéro de port aléatoire est lié. Les ports de réutilisation automatique (les ports sélectionnés à l’aide _ _ de la réutilisation UNICASTPORT) randomssent également le port retourné. par conséquent, si une application définit la _ réutilisation de _ UNICASTPORT, puis tente de définir _ le port de manière aléatoire _ , le deuxième appel setsockopt échoue. |
| _RCVBUF | Oui | Oui | DWORD | Espace de la mémoire tampon par socket total réservé aux réceptions. Cela n’est pas lié à _ _ _ la taille de message maximale et ne correspond pas nécessairement à la taille de la fenêtre de réception TCP. |
| _RCVLOWAT | Oui | Oui | DWORD | une option de socket de la UNIX BSD est incluse pour la compatibilité descendante. Cette option définit le nombre minimal d’octets à traiter pour les opérations d’entrée de Socket. cette option n’est pas prise en charge par le fournisseur TCP/IP Windows. si cette option est utilisée sur Windows Vista et versions ultérieures, les fonctions getsockopt et setsockopt échouent avec WSAEINVAL. dans les versions antérieures de Windows, ces fonctions échouent avec WSAENOPROTOOPT. |
| _RCVTIMEO | Oui | Oui | DWORD | Délai d’attente, en millisecondes, pour le blocage des appels de réception. La valeur par défaut de cette option est zéro, ce qui indique qu’une opération de réception n’expirera pas. Si un appel de blocage de réception expire, la connexion est dans un état indéterminé et doit être fermée. Si le socket est créé à l’aide de la fonction WSASocket , le paramètre dwFlags doit avoir _ l' _ attribut de chevauchement de l’indicateur WSA défini pour que le délai d’attente fonctionne correctement. Sinon, le délai d’attente ne prend jamais effet. |
| _REUSEADDR | Oui | Oui | DWORD (booléen) | Permet à un socket de se lier à une adresse et à un port déjà en cours d’utilisation. L' _ option so EXCLUSIVEADDRUSE peut empêcher cela. |
| _réutiliser _ UNICASTPORT | Oui | Oui | DWORD (booléen) | Lorsque cette valeur est définie, autorisez la réutilisation des ports éphémères pour les fonctions de connexion de l’API Winsock qui nécessitent une liaison explicite, telle que ConnectEx. Notez que cette option est définie par défaut pour les fonctions de connexion avec une liaison implicite (par exemple, se connecter sans liaisonexplicite). Utilisez cette option au lieu de _ _ l’extensibilité des ports sur les plateformes où les deux sont disponibles. |
| _réutiliser _ MULTICASTPORT | Oui | DWORD | Lorsqu’elle est définie sur un socket, cette option indique que le socket ne sera jamais utilisé pour recevoir des paquets de monodiffusion et, par conséquent, que son port peut être partagé avec d’autres applications de multidiffusion uniquement. Si la valeur est définie sur 1, le partage du trafic multidiffusion sur le port est toujours activé. Si vous affectez la valeur 0 (valeur par défaut), ce comportement est désactivé. | |
| _SNDBUF | Oui | Oui | DWORD | Espace de mémoire tampon par socket total réservé aux envois. Cela n’est pas lié à _ _ _ la taille de message maximale et ne correspond pas nécessairement à la taille d’une fenêtre d’envoi TCP. |
| _SNDLOWAT | Oui | Oui | DWORD | une option de socket de la UNIX BSD est incluse pour la compatibilité descendante. Cette option définit le nombre minimal d’octets à traiter pour les opérations de sortie de Socket. cette option n’est pas prise en charge par le fournisseur TCP/IP Windows. si cette option est utilisée sur Windows Vista et versions ultérieures, les fonctions getsockopt et setsockopt échouent avec WSAEINVAL. dans les versions antérieures de Windows, ces fonctions échouent avec WSAENOPROTOOPT. |
| _SNDTIMEO | Oui | Oui | DWORD | Délai d’attente, en millisecondes, pour les appels d’envoi bloqués. La valeur par défaut de cette option est zéro, ce qui indique qu’une opération d’envoi n’expirera pas. Si un appel de blocage Send expire, la connexion est dans un état indéterminé et doit être fermée. Si le socket est créé à l’aide de la fonction WSASocket , le paramètre dwFlags doit avoir _ l' _ attribut de chevauchement de l’indicateur WSA défini pour que le délai d’attente fonctionne correctement. Sinon, le délai d’attente ne prend jamais effet. |
| _type | Oui | DWORD | Retourne le type de socket pour le socket donné ( _ flux de chaussette ou _ DGRAM de chaussette, par exemple). | |
| _mettre à jour le _ contexte d’acceptation _ | Oui | DWORD (booléen) | Cette option est utilisée avec la fonction accepted . Cette option met à jour les propriétés du socket qui sont héritées du socket d’écoute. Cette option doit être définie si les fonctions getpeername, GetSockName, getsockoptou setsockopt doivent être utilisées sur le socket accepté. | |
| _mettre à jour le _ contexte de connexion _ | Oui | DWORD (booléen) | Cette option est utilisée avec les fonctions ConnectEx, WSAConnectByListet WSAConnectByName . Cette option met à jour les propriétés du socket après l’établissement de la connexion. Cette option doit être définie si les fonctions getpeername, GetSockName, getsockopt, setsockoptou Shutdown doivent être utilisées sur le socket connecté. | |
| _USELOOPBACK | Oui | Oui | DWORD (booléen) | Utilisez l’adresse de bouclage locale lors de l’envoi de données à partir de ce Socket. Cette option ne doit être utilisée que lorsque toutes les données envoyées sont également reçues localement. cette option n’est pas prise en charge par le fournisseur TCP/IP Windows. si cette option est utilisée sur Windows Vista et versions ultérieures, les fonctions getsockopt et setsockopt échouent avec WSAEINVAL. dans les versions antérieures de Windows, ces fonctions échouent avec WSAENOPROTOOPT. |
Windows Prise en charge des options de SOL_SOCKET
| Option | Windows 10 | Windows 7 | Windows Server 2008 | Windows Vista | Windows Server 2003 | Windows XP | Windows 2000 | Windows 4 | Windows 9x/ME |
|---|---|---|---|---|---|---|---|---|---|
| configuration de PVD _ | |||||||||
| _ACCEPTCONN | x | x | x | x | x | x | x | x | x |
| _diffusion | x | x | x | x | x | x | x | x | x |
| par conséquent, _ _ État BSP | x | x | x | x | |||||
| _accepter l' _ acceptation conditionnelle | x | x | x | x | x | x | x | ||
| _CONNDATA | x | x | x | x | x | x | x | x | |
| _CONNDATALEN | x | x | x | x | x | x | x | x | |
| _temps de connexion _ | x | x | x | x | x | x | x | x | x |
| _CONNOPT | x | x | x | x | x | x | x | x | |
| _CONNOPTLEN | x | x | x | x | x | x | x | x | |
| _DISCDATA | x | x | x | x | x | x | x | x | |
| _DISCDATALEN | x | x | x | x | x | x | x | x | |
| _DISCOPT | x | x | x | x | x | x | x | x | |
| _DISCOPTLEN | x | x | x | x | x | x | x | x | |
| _Déboguer | x | x | x | x | x | x | x | x | x |
| _DONTLINGER | x | x | x | x | x | x | x | x | x |
| _DONTROUTE | x | x | x | x | x | x | x | x | x |
| _erreur | x | x | x | x | x | x | x | x | x |
| _EXCLUSIVEADDRUSE | x | x | x | x | x | x | x | x SP4 + | |
| _ID de groupe _ | x | x | x | x | |||||
| _priorité de groupe _ | x | x | x | x | |||||
| _KeepAlive | x | x | x | x | x | x | x | x | x |
| DONC _ | x | x | x | x | x | x | x | x | x |
| _taille maximale des _ messages _ | x | x | x | x | x | x | x | x | x |
| _MAXDG | x | x | x | x | x | x | x | ||
| _MAXPATHDG | x | x | x | x | x | x | x | ||
| _OOBINLINE | x | x | x | x | x | x | x | x | x |
| DONC _ OpenType | x | x | x | x | x | x | x | x | x |
| _ _ l’évolutivité des ports | x | x | x | ||||||
| _protéger | x | ||||||||
| _informations de protocole _ | x | x | x | x | x | x | x | x | x |
| par conséquent, les _ informations de protocole _ | x | x | x | x | x | x | x | x | x |
| _INFOW de protocole _ | x | x | x | x | x | x | x | x | x |
| _RCVBUF | x | x | x | x | x | x | x | x | x |
| _RCVLOWAT | |||||||||
| _RCVTIMEO | x | x | x | x | x | x | x | x | x |
| _ _ port aléatoire | x | x | x | x | |||||
| _REUSEADDR | x | x | x | x | x | x | x | x | x |
| _réutiliser _ UNICASTPORT | x | ||||||||
| _réutiliser _ MULTICASTPORT | x | ||||||||
| _SNDBUF | x | x | x | x | x | x | x | x | x |
| _SNDLOWAT | |||||||||
| _SNDTIMEO | x | x | x | x | x | x | x | x | x |
| _type | x | x | x | x | x | x | x | x | x |
| _mettre à jour le _ contexte d’acceptation _ | x | x | x | x | x | x | x | x | |
| _mettre à jour le _ contexte de connexion _ | x | x | x | x | x | x | |||
| _USELOOPBACK |
Remarques
Les options de socket de socket sol _ sont définies dans plusieurs fichiers d’en-tête Winsock :
- Winsock2. h
- Mswsock. h
- Ws2def. h
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 de _ SOCKET SOL 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 . Certaines options de socket de _ Socket sol sont définies dans les fichiers d’en-tête Winsock2. h et mswsock. h . Les options de socket de _ Socket sol restantes sont définies dans le fichier d’en-tête Ws2def. h qui est automatiquement inclus dans le fichier d’en-tête Winsock2. h . Ws2def. h ne doit jamais être utilisé directement.
sur le kit de développement logiciel (SDK) de plateforme publié pour Windows Server 2003 et Windows XP, le niveau de _ SOCKET SOL est défini dans le fichier d’en-tête Winsock2. h . Les options de socket de socket sol _ sont définies dans les fichiers d’en-tête Winsock2. h et mswsock. h .
Configuration requise
| Condition requise | Valeur |
|---|---|
| En-tête |
|