26.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
を使用してカーネルに渡す。
-
メモリー内に連続したパケットを構築し、