[译]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地址。

原文地址:https://www.cnblogs.com/everfight/p/socket_error.html

时间: 2024-11-06 09:56:45

[译]Python - socket.error: Cannot assign requested address的相关文章

Irssi Error [Cannot assign requested address: x.x.x.x]

Symptom: /connect irc.anyserver.com Irssi: Unable to connect server irc.freenode.net port 6667 [Cannot assign requested address: 208.69.36.132] Cause: Can't bind socket to the hostname specified in .irssi/config  Same could happed to sshd. Solution:

Socket connect error 99(Cannot assign requested address)

转载请注明转自: 存储系统研究, 本文固定链接:socket connect error 99(Cannot assign request address) 这是最近使用libcurl写http服务的压力测试的时候遇到的一个问题,其直接表象是客户端在发送http请求时失败,最终原因是客户端的TIME_WAIT状态的socket进程过多,导致端口被占满.下面看整个分析过程: (1) 首先看产生错误的源码: /* get it! */ res = curl_easy_perform(curl_han

python socket编程腾讯云下报错[Errno 99] Cannot assign requested address的解决方式

先写服务端server.py: import socket import time HOST = '172.17.xx.xx' #服务器的私网IP #HOST = 'localhost' PORT = 8001 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind((HOST, PORT)) sock.listen(5) while True: connection,address = sock.accept() t

解决Creating Server TCP listening socket 54.179.160.162:7001: bind: Cannot assign requested address

背景:之前在测试环境搭过一个redis集群,运维把服务器重启之后我重新开启redis集群始终起不来,但是有没有任何日志,经过如下步骤最终解决问题 1.修改日志路径,根据日志查看为什么会启动失败[前期操作请参考我的另一篇如何创建集群] 修改配置文件,如我要启动的是本机的7001端口,修改配置文件../cluster/7001/redis.conf 修改日志路径,默认是空的,现在改为logfile "/usr/local/redis-3.2.4/log/redis.log" 重新执行启动命

WebService - [Debug] java.net.BindException: Can&#39;t assign requested address

Connected to the target VM, address: '127.0.0.1:57803', transport: 'socket' Exception in thread "main" com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Can't assign requested address at com.sun.xml.

新项目开发环境搭建遇到的问题排查(cannot assign requested address)

背景 搭建新的开发环境,机器是pe准备的一虚4 问题 在给机器安装ConfigServer,启动的时候抛异常. 一眼看出来肯定不是端口占用(有同事说是端口占用),心里估摸着应该是ip:port,其中一个的问题. 自然的,先问问"古哥",大多数人触发以上异常是因为短时间内大量的连接到是端口全部被占用. 我遇到的问题,netstat了一下,端口都没有被占用. 又开始郁闷了,到底什么原因导致的? 无意中想到了之前在项目实施过程中,遇到的host配置不对,导致的一系列的问题. 果断的看了看ho

在linux上用jmeter压测时出现很多异常java.net.NoRouteToHostException: Cannot assign requested address.

今天压力测试时, 刚开始出现了很多异常, 都是 java.net.NoRouteToHostException: Cannot assign requested address. 经网上查资料, 是由于linux分配的客户端连接端口用尽, 无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放, 而是处于TIME_WAIT状态, 默认等待60s后才释放. 查看linux支持的客户端连接端口范围, 也就是28232个端口: cat /proc/sys/net/ipv4/ip_

使用Java进行udp-demo编程时碰到的consumer和producter无法连接并报出“java.net.SocketException: Can&#39;t assign requested address”问题

在用Java编写了一个udp生产者和消费者的demo时,在生产者启动的时候会抛出异常 java.net.SocketException: Can't assign requested address at java.net.PlainDatagramSocketImpl.join(Native Method) at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178) at

java.net.BindException: Cannot assign requested address

tomcat启动后报错 2017-6-7 17:23:49 org.apache.catalina.core.StandardServer await 严重: StandardServer.await: create[localhost:8005]: java.net.BindException: Cannot assign requested address at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.Pl