IPPROTO_TCP socketopties
In de volgende tabel worden IPPROTO_TCP socketopties beschreven die van toepassing zijn op sockets die zijn gemaakt voor de IPv4- en IPv6-adresfamilies (AF_INET en AF_INET6) met de parameter protocol op de socket--functie die is opgegeven als TCP (IPPROTO_TCP). Zie de getsockopt en setsockopt functiereferentiepagina's voor meer informatie over het ophalen en instellen van socketopties.
Als u protocollen wilt inventariseren en ondersteunde eigenschappen voor elk geïnstalleerd protocol wilt detecteren, gebruikt u de WSAEnumProtocols, WSCEnumProtocolsof de functie WSCEnumProtocols32.
Opties
Optie | Toevoegen | Set | Type optval | Beschrijving |
---|---|---|---|---|
TCP_BSDURGENT | ja | ja | DWORD (Booleaanse waarde) | Als TRUE, implementeert de serviceprovider de stijl Berkeley Software Distribution (BSD) (standaard) voor het verwerken van versnelde gegevens. Deze optie is de inverse van de TCP_EXPEDITED_1122 optie. Deze optie kan slechts eenmaal op de verbinding worden ingesteld. Zodra deze optie is ingeschakeld, kan deze optie niet worden uitgeschakeld. Deze optie is niet vereist om te worden geïmplementeerd door serviceproviders. De optie is standaard ingeschakeld (ingesteld op TRUE). |
TCP_EXPEDITED_1122 | ja | ja | DWORD (Booleaanse waarde) | Als TRUE, implementeert de serviceprovider de versnelde gegevens zoals opgegeven in RFC-1222. Anders wordt de stijl Berkeley Software Distribution (BSD) (standaard) gebruikt. Deze optie kan slechts eenmaal op de verbinding worden ingesteld. Zodra deze optie is ingeschakeld, kan deze optie niet worden uitgeschakeld. Deze optie is niet vereist om te worden geïmplementeerd door serviceproviders. |
TCP_FAIL_CONNECT_ON_ICMP_ERROR | ja | ja | DWORD (Booleaanse waarde) | Als TRUE, retourneert een VERBINDING-API-aanroep bij ontvangst van een ICMP-fout met de waarde WSAEHOSTUNREACH. Het bronadres van de fout is vervolgens beschikbaar via de TCP_ICMP_ERROR_INFO socketoptie. Als FALSE, gedraagt de socket zich normaal. De standaardwaarde is uitgeschakeld (ingesteld op FALSE). Voor typeveiligheid moet u de functies WSAGetFailConnectOnIcmpError en WSASetFailConnectOnIcmpError gebruiken in plaats van de socketoptie rechtstreeks te gebruiken. |
TCP_ICMP_ERROR_INFO | ja | Nee | ICMP_ERROR_INFO | Hiermee haalt u de informatie op van een ICMP-fout die door de TCP-socket is ontvangen tijdens een mislukte verbindingsaanroep. Alleen geldig op een TCP-socket waarvoor TCP_FAIL_CONNECT_ON_ICMP_ERROR eerder is ingeschakeld en verbinding maken WSAEHOSTUNREACH heeft geretourneerd. De query blokkeert niet. Als een query is uitgevoerd en de geretourneerde optlenwaarde 0 is, is er geen ICMP-fout ontvangen sinds de laatste verbindingsoproep. Als er een ICMP-fout is ontvangen, zijn de bijbehorende gegevens beschikbaar totdat verbinding opnieuw wordt aangeroepen. De informatie wordt geretourneerd als een ICMP_ERROR_INFO structuur. Voor typeveiligheid moet u de functie WSAGetIcmpErrorInfo gebruiken in plaats van de socketoptie rechtstreeks te gebruiken. |
TCP_KEEPCNT | ja | ja | DWORD | Hiermee haalt u het aantal TCP-tests op of stelt u deze in dat wordt verzonden voordat de verbinding wordt beëindigd. Het is illegaal om TCP_KEEPCNT in te stellen op een waarde groter dan 255. |
TCP_MAXRT | ja | ja | DWORD | Als deze waarde niet-negatief is, vertegenwoordigt deze de gewenste time-out voor de verbinding in seconden. Als dit -1 is, vertegenwoordigt het een aanvraag om de time-out van de verbinding uit te schakelen (dat wil bijvoorbeeld dat de verbinding voor altijd opnieuw wordt verzonden). Als de time-out voor de verbinding is uitgeschakeld, neemt de time-out voor opnieuw verzenden exponentieel toe voor elke hertransmissie tot de maximumwaarde van 60 sec en blijft deze daar. |
TCP_NODELAY | ja | ja | DWORD (Booleaanse waarde) | Hiermee schakelt u het Nagle-algoritme voor TCP-sockets in of uit. Deze optie is standaard uitgeschakeld (ingesteld op ONWAAR). |
TCP_TIMESTAMPS | ja | ja | DWORD (Booleaanse waarde) | Hiermee schakelt u RFC 1323-tijdstempels in of uit. Houd er rekening mee dat er ook een globale configuratie is voor tijdstempels (standaard is uitgeschakeld), 'Timestamps' in (set/get)-nettcpsetting. Als u deze socketoptie instelt, wordt deze algemene configuratie-instelling overschreven. |
TCP_FASTOPEN | ja | ja | DWORD (Booleaanse waarde) | Hiermee schakelt u RFC 7413 TCP Fast Open in of uit, waarmee u gegevens kunt verzenden tijdens de drierichtingshanddrukfase van het openen van een verbinding. Houd er rekening mee dat u ConnectEx- moet gebruiken om de eerste verbinding te maken en gegevens op te geven in de lpSendBuffer parameter die tijdens het handshake-proces moet worden overgebracht. Sommige gegevens in lpSendBuffer- worden overgedragen onder het Fast Open-protocol. |
TCP_KEEPIDLE | ja | ja | DWORD | Hiermee wordt het aantal seconden dat een TCP-verbinding inactief blijft voordat keepalive-tests naar de externe worden verzonden.
Opmerking: |
TCP_KEEPINTVL | ja | ja | DWORD | Hiermee wordt het aantal seconden dat een TCP-verbinding wacht op een keepalive-antwoord voordat een andere keepalive-test wordt verzonden.
Opmerking: |
Windows-ondersteuning voor IPPROTO_TCP-opties
Optie | Windows 10 | Windows 7 | Windows Server 2008 | Windows Vista |
---|---|---|---|---|
TCP_BSDURGENT | ja | ja | ja | ja |
TCP_EXPEDITED_1122 | ja | ja | ja | ja |
TCP_KEEPCNT | Vanaf Windows 10 versie 1703 | |||
TCP_MAXRT | ja | ja | ja | ja |
TCP_NODELAY | ja | ja | ja | ja |
TCP_TIMESTAMPS | ja | ja | ja | ja |
TCP_FASTOPEN | Vanaf Windows 10, versie 1607 |
Optie | Windows Server 2003 | Windows XP | Windows 2000 | Windows NT4 | Windows 9x/Me | |
---|---|---|---|---|---|---|
TCP_BSDURGENT | ja | ja | ja | ja | ||
TCP_EXPEDITED_1122 | ja | ja | ja | |||
TCP_KEEPCNT | ||||||
TCP_MAXRT | ||||||
TCP_NODELAY | ja | ja | ja | ja | ||
TCP_TIMESTAMPS | ||||||
TCP_FASTOPEN |
Opmerkingen
In de Microsoft Windows Software Development Kit (SDK) die is uitgebracht voor Windows Vista en later, is de organisatie van headerbestanden gewijzigd en wordt IPPROTO_TCP niveau gedefinieerd in het Ws2def.h header-bestand dat automatisch wordt opgenomen in het Winsock2.h header-bestand. De IPPROTO_TCP socketopties, met uitzondering van TCP_BSDURGENT, worden gedefinieerd in het headerbestand Ws2ipdef.h koptekstbestand dat automatisch wordt opgenomen in het headerbestand Ws2tcpip.h. De optie TCP_BSDURGENT wordt om historische redenen gedefinieerd in het Mswsock.h headerbestand. De Ws2def.h en Ws2ipdef.h headerbestanden mogen nooit rechtstreeks worden gebruikt.
Eisen
Eis | Waarde |
---|---|
Rubriek |
|