私は c を使用しています。ファイル記述子として fd1 があります。このように 2 回呼び出すことはできますか?
main () {
....
shutdown(fd1, SHUT_WR);
....
shutdown(fd1, SHUT_WR);
....
}
個人的には、fd1 はまだ本当にフリーになっていないので、これでうまくいくと思います。誰かに確認してもらいたいだけです。
私は c を使用しています。ファイル記述子として fd1 があります。このように 2 回呼び出すことはできますか?
main () {
....
shutdown(fd1, SHUT_WR);
....
shutdown(fd1, SHUT_WR);
....
}
個人的には、fd1 はまだ本当にフリーになっていないので、これでうまくいくと思います。誰かに確認してもらいたいだけです。
2番目の呼び出しの戻り値(shutdown(2)
おそらく戻り-1
値)を確認し、の値を確認する必要がありますerrno(3)
。
一度呼び出すと出力をシャットダウンし、もう一度呼び出すと入力をシャットダウンできます。その逆も可能です。出力をシャットダウンするために2回呼び出すと、他の方法で2つのFINが送信されることはありません。入力をシャットダウンするために2回呼び出すことも、2回は何もできません。したがって、どちらも実際のポイントを持つことはできません。
注意:ファイル記述子で呼び出すことはできません。ソケット記述子で呼び出すことができます。
呼び出しshutdown
は、TCP レベルのシャットダウン シーケンスを開始するだけです。ソケット記述子は、呼び出すまで再利用のために解放されることはありませんclose
。
何度でも呼び出すことができますshutdown
が、その後の呼び出しでエラーが発生する可能性があります。
close
ソケットの使用が完了したら呼び出します。