netcatクライアントの^ Cがサーバーをシャットダウンし、サーバーの^ Cがクライアントをシャットダウンしないのはなぜですか?

netcatクライアントの^ Cがサーバーをシャットダウンし、サーバーの^ Cがクライアントをシャットダウンしないのはなぜですか?

Ubuntu 18.04 LTSで古代のnetcatをテストしました。 OpenBSDのnetcat:

$ dpkg -l|grep netcat
ii  netcat-openbsd                             1.187-1                             
amd64        TCP/IP swiss army knife

nc -v -v -v -l -p 1234サーバーとクライアントを順番に開くと、次のnc -v -v -v localhost 1234動作が観察されます。

  • クライアントがshutdownを使用すると、^Cクライアントとサーバーの両方がシャットダウンされます。
  • サーバーがダウンしたときに使用すると、^Cクライアントに影響を与えずにサーバーのみがシャットダウンされます。

行動が非対称であるのはなぜですか?サーバーがシャットダウンした場合、クライアントもシャットダウンする必要はありませんか?

サーバーがシャットダウンした後にクライアントにテキスト行を入力すると、最終的にクライアントもシャットダウンするようです。

ベストアンサー1

おすすめ記事