我想要一个我正在编写的Python程序,使用端口与另一个程序进行通信。我在套接字方面遇到了很多麻烦,但主要的问题是我在调试程序时无法重用端口。
以下是我创建套接字的代码部分:
# create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_address = ("localhost", 10000)
sock.bind(server_address)
# listen for activity
sock.listen(1)
当我在这一点之后尝试做事时,程序通常会崩溃。如果我尝试重新运行它,我会收到“已使用的地址”错误。我唯一的解决方法是关闭我的IDE并重新打开或更改程序用来通信的端口。我注意到程序崩溃后,它仍在监听端口。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1981 ******** 139u IPv6 0x9b8f5bc88c24993f 0t0 TCP localhost:ndmp (LISTEN)
(它说Java因为我从Jython环境运行我的程序。)
我可以在Python端做些什么,以便我可以重新运行我的程序吗?