1. ホーム
  2. c

[解決済み】close vs shutdown socket?

2022-04-05 18:23:18

質問

C言語では、ソケットをクローズすると、そのソケットは破棄され、後で再利用できるようになると理解しました。

shutdownはどうでしょうか?説明では、そのソケットへの二重接続の半分を閉じると書いてありました。しかし、そのソケットは以下のように破壊されるのでしょうか? close システムコールを使用しますか?

解決方法は?

これは 説明 は、Beejのネットワーク・ガイドに掲載されています。 shutdown は、片方向または両方向の通信をブロックする柔軟な方法です。 第2パラメータが SHUT_RDWR のように)送信と受信の両方をブロックします。 close ). しかし close は、実際にソケットを破壊する方法です。

shutdown を使用すると、相手がすでに送信した保留中のデータを受信することができます (このことを指摘してくれた Joey Adams に感謝します)。