【问题标题】:Python - socket.error: Cannot assign requested addressPython - socket.error:无法分配请求的地址
【发布时间】:2018-01-17 17:11:54
【问题描述】:

我已经编写了一个聊天服务器,但我无法将我的套接字绑定到 IP 地址:

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

我的代码有什么问题?


我没有找到答案:

'Connection aborted.', error(99, 'Cannot assign requested address') error in Python,
socket.error[Errno 99] Cannot assign requested address,
bind: cannot assign requested address
Cannot assign requested address - possible causes?

【问题讨论】:

    标签: python sockets networking


    【解决方案1】:

    通过检查 errno.h,errno 99 是 EADDRNOTAVAIL。手册页 bind(2) 说:

    EADDRNOTAVAIL 请求的接口不存在或请求的地址不是本地地址。

    这通常是由错误的 IP 地址引起的。你可以使用命令 ifconfig 检查你的机器是否有这个 IP 地址。

    【讨论】:

    • 谢谢!现在一切都很好
    • 我尝试连接的机器 IP 地址错误?
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 2017-05-08
    • 2013-10-15
    • 2023-04-10
    • 2012-08-12
    • 1970-01-01
    • 2021-11-03
    • 2013-08-08
    相关资源
    最近更新 更多