問題タブ [time-wait]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
10263 参照

http - Go クライアント プログラムは TIME_WAIT 状態で多くのソケットを生成します

複数のゴルーチンから多くの HTTP リクエストを生成する Go プログラムがあります。しばらく実行した後、プログラムは次のエラーを吐き出します:接続:要求されたアドレスを割り当てることができません。

で確認するとnetstat、 で多数 (28229) の接続が得られTIME_WAITます。

ソケットの数TIME_WAITが多いのは、ゴルーチンの数が 3 の場合で、5 の場合はクラッシュを引き起こすほど深刻です。

Dockerの下でUbuntu 14.4を実行し、バージョン1.7に移行します

これがGoプログラムです。

これはサーバープログラムです:

0 投票する
1 に答える
459 参照

sockets - localhost で ServerSocket を開いてすぐに閉じると、TIME_WAIT が発生しますか?

ローカルホストでソケットのオープンをテストするために、Java ライブラリの 1 つに次のロジックが表示されます。

私の質問は、データ パケットが送信されておらず、ソケットを開いた直後にソケットが閉じられた場合、このソケットは localhost で TIME_WAIT 状態になるのでしょうか? このような場合、アプリケーションが同じポートにバインドしようとすると、2MSL 値内で実行すると「アドレスは既に使用中のエラー」を引き起こす可能性がありますか?

上記のような小さなテスト プログラムを作成しましたが、このプログラムを実行した Linux マシンで netstat または ss を実行すると、このポートの TIME_WAIT がまったく表示されません。ソケットがデータ パケットの送信に使用されていない場合でも、ステート マシンは適用されるべきではありませんか?