Python - socket.error:无法分配请求的地址 [英] Python - socket.error: Cannot assign requested address
本文介绍了Python - socket.error:无法分配请求的地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我编写了一个聊天服务器,但我无法将套接字绑定到 IP 地址:
I have written a chat server but I cannot bind my socket to an IP address:
import sys
import os
import socket
HOST = "194.118.168.131"
SOCKET_LIST = []
RECV_BUFFER = 4096
PORT = 9009
def chat_server():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.bind((HOST, PORT))
server_socket.listen(10)
...
我收到以下错误:
Traceback (most recent call last):
File "server.py", line 83, in <module>
sys.exit(chat_server())
File "server.py", line 20, in chat_server
server_socket.bind((HOST, PORT))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address
我的代码有什么问题?
我没有找到答案:
'连接中止.', error(99, '无法分配请求的地址') Python 中的错误,
socket.error[Errno 99] 无法分配请求的地址,
绑定:无法分配请求的地址
无法分配请求的地址 - 可能的原因?
推荐答案
通过检查 errno.h,errno 99 是 EADDRNOTAVAIL.手册页 bind(2) 说:
By checking errno.h, errno 99 is EADDRNOTAVAIL. The man page bind(2) says:
EADDRNOTAVAIL 请求的接口不存在或请求的地址不是本地的.
EADDRNOTAVAIL A nonexistent interface was requested or the requested address was not local.
这通常是由错误的 IP 地址引起的.你可以使用命令ifconfig 检查你的机器是否有这个 IP 地址.
It is often caused by a wrong IP address. You can use the command ifconfig to check whether your machine has this IP address.
这篇关于Python - socket.error:无法分配请求的地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文