我在运行 PAIR
时按了 Ctrl-C与 ZMQ 的模式(非阻塞客户端服务器)连接。后来当我尝试运行 REQ-REP
时(阻塞客户端单服务器连接)模式,我不断收到 Address already in use
错误。我尝试使用 netstat -ltnp | grep :<my port>
运行 netstat但这没有列出任何过程。
那么到底是谁在使用这个地址?
还有如何优雅地关闭这样的套接字连接?
最佳答案
问题一:
如果你这样做 sudo netstat -ltnp
,在 Linux 类型的操作系统上,您很可能会看到拥有该端口的进程。用 kill -9 <pid>
杀死它.
问题二:
当您退出程序时,关闭您的套接字,然后调用 zmq_ctx_destroy()。这破坏了上下文。参见 http://zguide.zeromq.org/page:all#toc17了解更多信息。
关于python - 从 zmq.error.ZMQError : Address already in use 恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19159771/