Nagle のアルゴリズムはクライアント側でも無効にする必要がありますか? この場合、JavaScript だけで Nagle のアルゴリズムを無効にする方法は見つかりませんでした。
Raspbian OS でホストされている PHP CLI サーバー (Windows 7 と Ubuntu でも同じ結果でホストされています) から、websocket 経由でデータをストリーミングしようとしています。このサーバーはソケットを正常に作成し、複数の接続を受け入れ、TCP_NODELAY フラグを設定しました (socket_get_option のみで検証)。
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)
socket_set_option($sock, SOL_SOCKET, TCP_NODELAY, 1);
ほとんどのプラットフォームでは、この TCP_NODELAY フラグが設定されているかどうかに関係なく、データは凝集することなくストリーミングされます。ただし、Windows 7 の Chrome と Firefox では、データはチャンクで到着します(明らかな 0.2 秒の遅延があります)。Windows 8 、Linux、iOS、および Windows 7 の Internet Explorer 11: この問題はまったく発生しません。
http://www.13willows.com/hovelme/script/serverControl.php これがテスト Web サイトです。[接続] をクリックし、[ゲームを表示] をクリックすると、現在のパケットが 50 ミリ秒ごとに 1 から 20 に着実に増加するのがわかります。 . ただし、一部のクライアントでは、約 200 ミリ秒ごとに一度に 4 つジャンプします。
これを止めるためのアイデアはありますか?node.js / socket.io を使用すると、このような問題が修正され、ユーザーのブラウザーからコードを実行できるようになりますか?