struct linger構造体の作用の詳細
965 ワード
struct linger構造体の作用の詳細
TCP接続が切断された時にCosesocket関数を呼び出して、優雅な切断と強制的な切断の2つの方式があります.
接続を切断する方法はどう設定しますか?socketを設定することにより、説明は一つのlingerとなります.
構造体
を選択します
リンガー構造体
データ構造
以下のとおりです
最初の種類:
l_オンオフ=0&
l_linger無視
この方式では、closesocketの時にすぐに戻って、下の階で未送信のデータを送信してから資源を放出します.
優雅な脱退です.
第二種類:l_オンオフはゼロではありません l_linger=0;
このように、closesocketを呼び出した時もすぐに戻りますが、送信されていないデータは送られません.RESTパッケージを通して強制的にsocket記述子を閉じます.つまり強制的に終了します.
第三種類:l_オンオフはゼロではありません l_linger>0
この方式では、closesocketを呼び出すとすぐには戻りません.カーネルはしばらく遅延します.この時間はl_です.リンガーの値は決定します.タイムアウト時間が到着する前に、未送信のデータ(FINパケットを含む)を送信し、他端の確認を得ると、closesocketは正しい戻ります.socket記述子は優雅に終了します.そうでなければ、closesocketは直接エラー値を返します.送信されていないデータが失われ、socket記述子は強制的に終了されます.注意する必要がある場合、socket記述子は非塞栓型に設定されていると、closesocketは直接値を返します.
Linuxではヘッダファイルを含む必要があります.
TCP接続が切断された時にCosesocket関数を呼び出して、優雅な切断と強制的な切断の2つの方式があります.
接続を切断する方法はどう設定しますか?socketを設定することにより、説明は一つのlingerとなります.
構造体
を選択します
リンガー構造体
データ構造
以下のとおりです
struct linger
{
int l_onoff;
int l_linger;
};
三つの組み合わせがあります.最初の種類:
l_オンオフ=0&
l_linger無視
この方式では、closesocketの時にすぐに戻って、下の階で未送信のデータを送信してから資源を放出します.
優雅な脱退です.
第二種類:l_オンオフはゼロではありません l_linger=0;
このように、closesocketを呼び出した時もすぐに戻りますが、送信されていないデータは送られません.RESTパッケージを通して強制的にsocket記述子を閉じます.つまり強制的に終了します.
第三種類:l_オンオフはゼロではありません l_linger>0
この方式では、closesocketを呼び出すとすぐには戻りません.カーネルはしばらく遅延します.この時間はl_です.リンガーの値は決定します.タイムアウト時間が到着する前に、未送信のデータ(FINパケットを含む)を送信し、他端の確認を得ると、closesocketは正しい戻ります.socket記述子は優雅に終了します.そうでなければ、closesocketは直接エラー値を返します.送信されていないデータが失われ、socket記述子は強制的に終了されます.注意する必要がある場合、socket記述子は非塞栓型に設定されていると、closesocketは直接値を返します.
Linuxではヘッダファイル