32.2. TCP_NODELAY の有効化
イベントが発生すると、TCP_NODELAY オプションは遅滞なくバッファー書き込みをカーネルに送信します。setsockopt() 関数を使用して TCP_NODELAY を有効にします。
手順
次の行を
TCPアプリケーションの.cファイルに追加します。int one = 1; setsockopt(descriptor, SOL_TCP, TCP_NODELAY, &one, sizeof(one));- ファイルを保存して、エディターを終了します。
パフォーマンスの低下を防ぐために、以下の回避策のいずれかを適用します。
-
メモリー内に連続したパケットを構築し、
TCP_NODELAYで設定したソケット上で論理パケットをTCPに送信する。 -
I/O ベクターを作成し、
TCP_NODELAYが設定されたソケット上でwritevを使用してカーネルに渡す。
-
メモリー内に連続したパケットを構築し、