11.3. ソケットオプションを使用したプログラム例


TCP_NODELAY および TCP_CORK ソケットオプションは、ネットワーク接続の動作に大きく影響します。TCP_NODELAY は、準備ができたらすぐにデータパケットを送信することで利益を得るアプリケーションで、Nagle のアルゴリズムを無効にします。TCP_CORK を使用すると、複数のデータパケットを遅延なく同時に転送できます。

注記

TCP_NODELAY などのソケットオプションを有効にするには、次のコードを使用してビルドし、適切なオプションを設定します。

gcc tcp_nodelay_client.c -o tcp_nodelay_client -lrt

tcp_nodelay_server および tcp_nodelay_client プログラムを引数なしで実行すると、クライアントはデフォルトのソケットオプションを使用します。tcp_nodelay_server および tcp_nodelay_client プログラムの詳細は、Red Hat ナレッジベースソリューションの TCP changes result in latency performance when small buffers are used を参照してください。

サンプルプログラムは、これらのソケットオプションが与える可能性のあるアプリケーションへのパフォーマンスの影響に関する情報を提供します。

11.3.1. クライアントへのパフォーマンスの影響

TCP_NODELAY および TCP_CORK ソケットオプションを使用せずに、クライアントで小さなバッファー書き込みを送信できます。引数なしで実行すると、クライアントはデフォルトのソケットオプションを使用します。

  • データ転送を開始するために、サーバーの TCP ポートを定義します。

    $ ./tcp_nodelay_server 5001

    このコードは、それぞれ 2 バイトのパケットを 15 個送信し、サーバーからの応答を待ちます。ここではデフォルトの TCP 動作を採用します

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る