我无法连接到外部设备上的 Bottle 服务器

I can't connect to my Bottle server on external devices

我正在尝试让 Python 中的 Bottle 服务器正常工作。这是我的代码:

from bottle import route, run, template
from socket import gethostname, gethostbyname
from time import sleep

ip = str(gethostbyname(gethostname()))

@route('/')
def index():
    return 'Hello World!'

run(host=ip, port=1234)

我 运行 这个,在我正在 运行 的电脑上,我导航到 http://127.0.1.1:1234/,我的网站显示 Hello World! . 但是,如果我尝试在我的 phone 或我姐姐的 Chromebook 上连接它,它会说该网站拒绝连接。 我试过用 '0.0.0.0''localhost' 替换 str(gethostbyname(gethostname())),但是 none 有效。

去掉这一行;没必要:

ip = str(gethostbyname(gethostname()))

让你的 run 行看起来像这样:

run(host='0.0.0.0', port=1234)

地址0.0.0.0表示“监听所有地址”。

最后,找出您的应用所在主机的网络地址运行。然后同一网络上的其他设备应该能够连接到 <that ip address>:1234。如果您有一个 publicly 可路由地址(或者如果您安排从具有 public 地址的路由器转发适当的端口),则不在同一网络上的设备将只能连接到该服务.

您需要确保您的应用所在的系统运行没有防火墙规则,否则会阻止成功连接。