【发布时间】:2021-11-25 05:00:40
【问题描述】:
我正在尝试使用 python 在我的树莓派上创建一个服务器,然后我想通过使用树莓派的 IP 地址从另一台设备访问它来测试服务器,但问题是每次我输入 IP我的树莓派地址进入我的网页,它没有打开,我不知道我的代码是否有问题,我会写在下面,以便任何人都可以检查
import socket
import sys
my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
try:
my_socket.bind((host, 1234))
except socket.error:
print(‘failed’)
sys.exit()
my_socket.listen(5)
While True:
conn, addr = my_socket.accept()
data = conn.recv(1000)
if data:
print(‘got a request’)
my_socket.send(‘Thank you’)
my_socket.close()
conn.close()
之后,我尝试在笔记本电脑的网页上输入树莓派的 IP 地址,但没有用,首先我在树莓派的终端中输入 ifconfig 以获取 IP 地址,我尝试了,但没有成功,然后我在代码中添加了另一行 gethostbyname 到变量 host 并打印它,它显示的 IP 地址与 ifconfig 中的 IP 地址不同,这让我感到困惑,但我什至在我的网页上尝试了另一个 IP 地址,但它没有也不行
【问题讨论】:
-
你的代码至少有一个问题:
while需要用小写的w拼写。 -
为什么你的代码是双倍行距
-
python3 -m http.server从命令行启动一个简单的服务器,您应该能够从网络上的任何设备访问。 -
确保您发布准确源代码,除非您的文件中确实有智能引号,在这种情况下这是一个问题。
标签: python sockets server raspberry-pi