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
クライアントに影響を与えずにサーバーのみがシャットダウンされます。
行動が非対称であるのはなぜですか?サーバーがシャットダウンした場合、クライアントもシャットダウンする必要はありませんか?
サーバーがシャットダウンした後にクライアントにテキスト行を入力すると、最終的にクライアントもシャットダウンするようです。