Python OSError: [Errno 99] Cannot assign requested address错误的解决
·
Python OSError: [Errno 99] Cannot assign requested address错误的解决
tcpOrder_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#强制允许端口复用
tcpOrder_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
locall_addr = ("", 7890)
# 绑定本地信息
tcpOrder_socket.bind(locall_addr)
#print(tcpOrder_socket)
tcpOrder_socket.connect((server_ip, int(server_port)))
在最后一行程序 与服务器连接时偶尔会出现 OSError: [Errno 99] Cannot assign requested address 的错误,目前还不知道是什么原因导致如此,以下介绍两种解决办法去避免这种错误:
方法一:命令行下运行 vim /etc/hosts
将127.0.1.1 那一行的名字改成你的(用 vi /etc/hostname 获取)
127.0.0.1 localhost
127.0.1.1 your hostname #此处的填hostname,记住必须与/etc/hostname中的名字一致!
以上更改后退出vim 保存更改 如果提示文件为只读状态导致无法更改 那就先去获取超级管理员权限(sudo -s 输入自己的密码进入),然后再去进行以上操作即可
这种方法可以有效的防止OSError: [Errno 99] Cannot assign requested address错误的发生
方法二:睁一只眼闭一只眼
while True:
try:# 抓取OSError: [Errno 99] Cannot assign requested address 异常
tcpOrder_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#强制允许端口复用
tcpOrder_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
locall_addr = ("", 7890)
# 绑定本地信息
tcpOrder_socket.bind(locall_addr)
#print(tcpOrder_socket)
tcpOrder_socket.connect((server_ip, int(server_port)))
choice_num = input("请输入操作代码:")
except Exception as link_fault:
continue
使用异常捕获,既然是偶尔出现的错误,那就让程序多执行几次,就能顺利通过,但是如果是一直出现这种错误,不建议用这种方法,因为你会一直卡在这里出不去,进入死循环
以上就是关于OSError: [Errno 99] Cannot assign requested address错误的解决办法,有高见的同仁可以留言,或者联系 948605548@qq.com
更多推荐
已为社区贡献4条内容
所有评论(0)