我有一个基本的服务器和客户端,当客户端连接时在服务器上打印一条消息,然后在客户端上打印一条消息,说“谢谢连接” . 但是当我再次尝试运行服务器时(关闭它之后),我得到“错误:通常只允许使用每个套接字地址一次”(不完全正确) . 当我再次更换端口时,它可以工作 .
#Server
import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print 'Got connection from', addr
c.send('Thank you for connecting')
c.close()
.
#Client
import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host, port))
print s.recv(1024)
s.close
如果我将服务器的最后两行代码更改为
break
c.close()
它工作但关闭服务器 .
如何在客户端断开连接后保持服务器运行,而不必每次都更改端口?
1 回答
您想要设置套接字选项
SO_REUSEADDR
:Example: