【问题标题】:Why Isnt this server accesible from web?为什么无法从 Web 访问此服务器?
【发布时间】:2017-02-19 02:11:11
【问题描述】:

serverside.py 的内容

    import socket               
    s = socket.socket()        
    host = "127.0.0.1" 
    port = 9000       
    s.bind((host, port))       

    s.listen(5)           
    while True:
       c, addr = s.accept()   
       print 'Got connection from', addr
       c.send('Thank you for connecting')
       c.close()

现在当我打开 cmd 并输入 远程登录 127.0.0.1 9000 服务器运行良好。

cmd 显示显示 - 感谢您的连接

shell 显示显示 - Got connection from ('127.0.0.1', 54578)

但是当我通过 WAN 连接它并从另一台计算机上键入相同的命令时,而我计算机上的服务器运行良好,它显示连接失败。

为什么会这样???

编辑:我是网络初学者。所以请帮助我了解发生了什么问题。

【问题讨论】:

  • 127.0.0.1 是本地主机地址。您只在本地界面上收听。您应该在 0.0.0.0 上侦听以侦听所有接口(尽管这只会将它打开到可以到达以太网 IP 地址的东西),然后从那里开始。
  • 错过了很多基础知识,我什至不知道从哪里开始。
  • 你能给我一个网站的链接,它可以解释我的网络基础知识吗?因为我已经下载了一个 PDF 并且正在关注它。根据它,这应该有效。我们无法相信网络上的对错...

标签: python-2.7 sockets networking


【解决方案1】:

因为您绑定的是 127.0.0.1 而不是外部接口上的地址。只有本地计算机可以连接到这个地址,这就是为什么它被称为“环回地址”。

【讨论】:

    猜你喜欢
    • 2013-03-30
    • 2020-12-12
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    相关资源
    最近更新 更多