2011-07-27 21 views

答えて

2

TTLは、パケットをどのくらい多くのルータに渡すことができるのかを伝えます。Keep Aliveは、コネクションをアクティブにせずに開いたままにしておく必要があることをコネクションに伝えます。

私がリンガーについて読んだことから、私はキープアライブとの違いは見当たりません。私はここで何か不足しているかもしれません。

EDIT:lingerオプションを使用すると、データがまだワイヤに残っているかどうかを確認するために、しばらく待ってからソケットを閉じることができます。 this pageから、我々はあなたがソケットを閉じ

はまだ 後に発信ネットワークバッファで利用可能なデータがあるかもしれないことをお読みください。 Socketが終了後に未送信データを送信しようとする時間を指定する場合は、 LingerOptionをenabledパラメータをtrueに設定し、秒数 パラメータを希望の時間に設定して作成します。 secondsパラメータは、 です。タイムアウトする前にSocketを のままにしておきたい場合に使用します。閉じた後にSocketが を長時間接続しないようにするには、enabledパラメータをfalseに設定してLingerOption を作成します。この場合、ソケットはすぐに になり、未送信のデータは失われます。作成したら、 のLingerOptionをSocket.SetSocketOptionメソッドに渡します。 TcpClientでデータを送受信する場合は、 LingerOptionをTcpClient.LingerStateメソッドに渡します。

+0

を受信したときにソケットが開いたままの時間ですありがとう。リンガーを設定するのは何ですか? –

+0

lingerについて見つけたものを使って答えを編集しました – samy

+0

lingerオプションを使用して、TCP接続のTIME-WAITステータスをスキップすることができます。この状態をスキップすることは可能ですが、スキップの結果に注意してください!私たちはHTTP/1.0サーバとの通信(たくさんの)の間、リンガーオプションが非常に便利であることを発見しました。 – Chris

1

生きるための時間は、デバイス(ホップ)の数であるネットワークパケットはキープアライブ時間(ルータ、スイッチなどのように)交差するデータが送信されていないか、

+0

ありがとうございます。リンガーを設定するのは何ですか? –

関連する問題