这个错误通常发生在尝试在套接字上使用bind()函数时。这可能是由于权限问题或地址已被另一进程占用而导致的。下面是一些可能的解决方案:
sudo python server.py
更改端口号: 如果端口号已被另一个进程占用,可以尝试更改端口号。
检查IP地址: 确保IP地址可用于绑定端口。可以使用0.0.0.0作为IP地址来监听所有本地地址。
检查防火墙设置: 如果使用防火墙,需要确保已允许使用所需端口。
确保套接字已正确关闭: 请确保之前的套接字已正确关闭。如果它们仍然处于活动状态,则会出现绑定错误。
可以参考以下示例代码实现:
import socket
host = "127.0.0.1" port = 8000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try: s.bind((host, port)) except socket.error as e: print("Error while binding: ", e) s.close() exit()
print("Socket is bound and listening...") s.listen(1)
while True: conn, addr = s.accept() print("Connection from: ", addr) conn.close()