我无法连接到外部设备上的 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 地址的路由器转发适当的端口),则不在同一网络上的设备将只能连接到该服务.
您需要确保您的应用所在的系统运行没有防火墙规则,否则会阻止成功连接。
我正在尝试让 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 地址的路由器转发适当的端口),则不在同一网络上的设备将只能连接到该服务.
您需要确保您的应用所在的系统运行没有防火墙规则,否则会阻止成功连接。