【发布时间】:2012-09-08 19:34:37
【问题描述】:
我目前遇到的问题是我在一台计算机上以localhost:12123 运行了一个服务器脚本。我可以使用同一台计算机连接到它,但使用同一网络中的另一台计算机无法连接到它(说它不存在)。防火墙已禁用。
和权限有关吗?
套接字是由python文件使用BaseHTTPServer创建的。
【问题讨论】:
我目前遇到的问题是我在一台计算机上以localhost:12123 运行了一个服务器脚本。我可以使用同一台计算机连接到它,但使用同一网络中的另一台计算机无法连接到它(说它不存在)。防火墙已禁用。
和权限有关吗?
套接字是由python文件使用BaseHTTPServer创建的。
【问题讨论】:
这可能与绑定到本地主机有关,而不是绑定到实际的 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
【讨论】:
显然是绑定到 0.0.0.0 或外部 IP 地址。
【讨论】: