【问题标题】:How to make HTTP server with port not 80 available for network?如何使端口不是 80 的 HTTP 服务器可用于网络?
【发布时间】:2012-09-08 19:34:37
【问题描述】:

我目前遇到的问题是我在一台计算机上以localhost:12123 运行了一个服务器脚本。我可以使用同一台计算机连接到它,但使用同一网络中的另一台计算机无法连接到它(说它不存在)。防火墙已禁用。

和权限有关吗?

套接字是由python文件使用BaseHTTPServer创建的。

【问题讨论】:

    标签: python sockets port


    【解决方案1】:

    这可能与绑定到本地主机有关,而不是绑定到实际的 LAN 接口(例如 192.168.1.x)或所有接口(有时称为 0.0.0.0)。

    此代码将启动一个绑定到所有接口(不仅是本地主机)的实例

    def run(server_class=BaseHTTPServer.HTTPServer,
            handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
        server_address = ('0.0.0.0', 12123)
        httpd = server_class(server_address, handler_class)
        httpd.serve_forever()
    

    server_adress 必须是 (0.0.0.0, 12123) 请参阅:0.0.0.0

    【讨论】:

      【解决方案2】:

      显然是绑定到 0.0.0.0 或外部 IP 地址。

      【讨论】:

        猜你喜欢
        • 2016-02-24
        • 2021-10-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 2015-02-10
        • 2013-08-05
        相关资源
        最近更新 更多