[譯]Python - socket.error: Cannot assign requested address


原文來源: https://stackoverflow.com/questions/48306528/python-socket-error-cannot-assign-requested-address

問:
我寫了一個聊天服務器,但是我不能夠將socket綁定到一個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

我上面的代碼有什么錯誤么?

答:

查看錯誤得知,errno 99 是 EADDRNOTAVAIL 幫助手冊里面是這么說的:

EADDRNOTAVAIL 一個不存在的接口被請求了或者請求的地址不是本地的地址。

代碼中提示是錯誤的IP地址。你可以嘗試使用ifconfig看下本地的服務器是否有這個IP地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM