如果我使用 netcat 来侦听这样的端口:
nc -l 5555
,然后我可以localhost:5555
在我的网络浏览器中访问,netcat 将打印请求。但是,如果我在浏览器中单击刷新,netcat 将停止工作。这是什么原因造成的?
我发现指定-k
强制 netcat 在当前连接完成后进行侦听,但我想知道是什么让它默认关闭。
如果我使用 netcat 来侦听这样的端口:
nc -l 5555
,然后我可以localhost:5555
在我的网络浏览器中访问,netcat 将打印请求。但是,如果我在浏览器中单击刷新,netcat 将停止工作。这是什么原因造成的?
我发现指定-k
强制 netcat 在当前连接完成后进行侦听,但我想知道是什么让它默认关闭。
它关闭是因为浏览器打开了一个 TCP 连接,执行了 HTTP 事务,然后说“我完成了!” 这通常会关闭连接。正如您所发现的,
-k
交换机将使k
侦听套接字保持打开状态以进行进一步的连接。