按某网上教程练习Python3.网络编程,二次运行服务端,提示:
socket.error: [Errno 98] Address already in use
原因是:socket默认不支持端口复用,如果要复用需要显示设定,允许地址重复使用:
serversocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
代码如下:
# 创建 socket 对象
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
serversocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# 绑定端口
serversocket.bind((host, port))