开发者社区 问答 正文

ESC上写个服务器例子,在绑定公网IP的时候错误Errno 99

用Python写了一个超级简单的服务器监听端口,用127.0.0.1时可以监听 ,但是用外网IP在Bind的时候提示:
[Errno 99] Cannot assign requested address


import socket  
host = '121.47.42.117'  
port = 6482

print "Create socket"  
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
print "done"  
      
print "Set the socket options"  
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  
print "done"  
        
print "Build to port and interface"  
s.bind((host, port))  
print "done"  
          
print "Listen for connection"  
s.listen(5)  
            
print "Connect from ", s.getsockname()

请问这是什么原因啊。我的安全组是全部开放的


展开
收起
colinsusie 2017-02-11 00:30:56 7436 分享 版权
3 条回答
写回答
取消 提交回答
  • 专有网络填写系统分配的内网地址,弹性EIP不会直接绑定到ECS
    2017-02-13 00:22:43
    赞同 展开评论
  • 回 1楼dongshan8的帖子
    你好是专有网络的。会有问题吗?

    -------------------------

    回 1楼dongshan8的帖子
    版主麻烦问题一下啊,是专有网络
    2017-02-11 10:53:23
    赞同 展开评论
  • 旺旺:nectar2。
    楼主您好,

    欢迎来到阿里云论坛。

    请问您的ECS网络类型是“经典网络”还是“专有网络”呢?

    -------------------------

    回 2楼(colinsusie) 的帖子
    您好,

    抱歉延时回复。

    是的,如4楼所指出的,如果您使用的是弹性公网IP,那么不能直接在系统里绑定该弹性公网IP的地址,但您可以尝试用其它的来代替,如0.0.0.0。
    2017-02-11 08:46:27
    赞同 展开评论