次の方法で共有


IPPROTO_TCP ソケット オプション

次の表では、TCP (IPPROTO_TCP IPPROTO_TCP) として指定された socket 関数に対する protocol パラメーターを使用して、IPv4 および IPv6 アドレス ファミリ (AF_INET および AF_INET6) 用に作成されたソケットに適用されるソケット オプション説明します。 ソケット オプションの取得と設定の詳細については、getsockopt 関数および setsockopt 関数のリファレンス ページを参照してください。

プロトコルを列挙し、インストールされている各プロトコルでサポートされているプロパティを検出するには、WSAEnumProtocols 関数、 WSCEnumProtocols 関数、または WSCEnumProtocols32 関数を使用します。

Options

オプション Yammer の入手 設定 Optval 型 説明
TCP_BSDURGENT はい はい DWORD (ブール値) TRUEの場合、サービス プロバイダーは、迅速なデータを処理するために、バークレイ ソフトウェア配布 (BSD) スタイル (既定) を実装します。 このオプションは、TCP_EXPEDITED_1122 オプションの逆です。 このオプションは、接続で 1 回だけ設定できます。 このオプションをオンにすると、このオプションをオフにすることはできません。 このオプションは、サービス プロバイダーによって実装される必要はありません。 このオプションは既定で有効になっています ( TRUE に設定)。
TCP_EXPEDITED_1122 はい はい DWORD (ブール値) TRUE場合、サービス プロバイダーは RFC-1222 で指定されている優先データを実装します。 それ以外の場合は、バークレイ ソフトウェアディストリビューション (BSD) スタイル (既定) が使用されます。 このオプションは、接続で 1 回だけ設定できます。 このオプションをオンにすると、このオプションをオフにすることはできません。 このオプションは、サービス プロバイダーによって実装される必要はありません。
TCP_FAIL_CONNECT_ON_ICMP_ERROR はい はい DWORD (ブール値) TRUEの場合、値 WSAEHOSTUNREACH を持つ ICMP エラーを受信すると、接続 API 呼び出しが返されます。 エラーのソース アドレスは、TCP_ICMP_ERROR_INFO ソケット オプションを使用して使用できるようになります。 FALSE場合、ソケットは正常に動作します。 既定値は無効です ( FALSE に設定)。 タイプ セーフの場合は、ソケット オプションを直接使用するのではなく、 WSAGetFailConnectOnIcmpError および WSASetFailConnectOnIcmpError 関数を使用する必要があります。
TCP_ICMP_ERROR_INFO はい いいえ ICMP_ERROR_INFO 失敗した接続呼び出し中に TCP ソケットによって受信された ICMP エラーの情報を取得します。 TCP_FAIL_CONNECT_ON_ICMP_ERRORが既に有効になっており、 connect が WSAEHOSTUNREACH を返した TCP ソケットでのみ有効です。 クエリは非ブロッキングです。 クエリが正常に実行され、返された optlen 値が 0 の場合、前回の接続呼び出し以降、ICMP エラーは受信されていません。 ICMP エラーを受信した場合、 connect が再度呼び出されるまで、その情報が使用可能になります。 情報は、 ICMP_ERROR_INFO 構造体として返されます。 タイプ セーフの場合は、ソケット オプションを直接使用する代わりに、 WSAGetIcmpErrorInfo 関数を使用する必要があります。
TCP_KEEPCNT はい はい DWORD 接続が終了する前に送信される TCP キープ アライブ プローブの数を取得または設定します。 TCP_KEEPCNTを 255 より大きい値に設定することは無効です。
TCP_MAXRT はい はい DWORD この値が負でない場合は、必要な接続タイムアウトを秒単位で表します。 -1 の場合、接続タイムアウトを無効にする要求を表します (つまり、接続は永久に再送信されます)。 接続タイムアウトが無効になっている場合、再送信のタイムアウトは、各再送信の最大値である 60 秒まで指数関数的に増加し、その後も維持されます。
TCP_NODELAY はい はい DWORD (ブール値) TCP ソケットの Nagle アルゴリズムを有効または無効にします。 このオプションは既定で無効になっています (FALSE に設定)。
TCP_TIMESTAMPS はい はい DWORD (ブール値) RFC 1323 タイムスタンプを有効または無効にします。 タイムスタンプのグローバル構成 (既定値はオフ)、(set/get)-nettcpsetting の "Timestamps" もあります。 このソケット オプションを設定すると、そのグローバル構成設定がオーバーライドされます。
TCP_FASTOPEN はい はい DWORD (ブール値) RFC 7413 TCP Fast Open を有効または無効にします。これにより、接続を開く 3 方向ハンドシェイク フェーズ中にデータの送信を開始できます。 高速開きを利用するには、 ConnectEx を使用して初期接続を行い、ハンドシェイク プロセス中に転送する関数の lpSendBuffer パラメーターにデータを指定する必要があります。 lpSendBufferのデータの一部は、高速オープン プロトコルで転送されます。
TCP_KEEPIDLE はい はい DWORD キープアライブ プローブがリモートに送信されるまでの TCP 接続のアイドル状態を維持する秒数を取得または設定します。

:
このオプションは、Windows 10 バージョン 1709 以降で使用できます。


TCP_KEEPINTVL はい はい DWORD TCP 接続がキープアライブ応答を待機してから別のキープアライブ プローブを送信する秒数を取得または設定します。

:
このオプションは、Windows 10 バージョン 1709 以降で使用できます。


IPPROTO_TCP オプションの Windows サポート

オプション Windows 10 Windows 7 Windows Server 2008 Windows Vista
TCP_BSDURGENT はい はい はい はい
TCP_EXPEDITED_1122 はい はい はい はい
TCP_KEEPCNT Windows 10 バージョン 1703 以降
TCP_MAXRT はい はい はい はい
TCP_NODELAY はい はい はい はい
TCP_TIMESTAMPS はい はい はい はい
TCP_FASTOPEN Windows 10 バージョン 1607 以降

  オプション Windows Server 2003 Windows XP Windows 2000 Windows NT4 Windows 9x/Me
TCP_BSDURGENT はい はい はい はい
TCP_EXPEDITED_1122 はい はい はい
TCP_KEEPCNT
TCP_MAXRT
TCP_NODELAY はい はい はい はい
TCP_TIMESTAMPS
TCP_FASTOPEN

解説

Windows Vista 以降用にリリースされた Microsoft Windows ソフトウェア開発キット (SDK) では、ヘッダー ファイルの編成が変更され、 IPPROTO_TCP レベルは Ws2def.h ヘッダー ファイルで定義され、 Winsock2.h ヘッダー ファイルに自動的に含まれます。 TCP_BSDURGENTを除き、IPPROTO_TCP ソケット オプションは、Ws2tcpip.h ヘッダー ファイルに自動的に含まれる Ws2ipdef.h ヘッダー ファイルで定義されます。 歴史的な理由から TCP_BSDURGENT オプションは、 Mswsock.h ヘッダー ファイルで定義されています。 Ws2def.h および Ws2ipdef.h ヘッダー ファイルは、直接使用しないでください。

要件

要件 Value
ヘッダー
Ws2def.h (Winsock2.h をインクルード)、
Windows Server 2003、Windows XP、Windows 2000 の Winsock2.h