为了不让TcpListener的死循环影响到程序的正常结束,我们必须在SocketBase被销毁时(以后如果有了unbind还得再单独考虑),尽快跳出死循环。还好 Rust 的通道考虑到了这一点,提供了这样的功能:在一个通道的接收端被销毁后,继续往发送端发送数据的操作将会失败。所以我们只要能往tx里发一个空白命令,如果发送失败就可以跳...