Javascript - Websockets 错误 ERR_NAME_NOT_RESOLVED
Javascript - Websockets error ERR_NAME_NOT_RESOLVED
我目前正在使用 raspberry pi (RPI) 和 LAMP 在我的本地网络上托管我的网页,该网络使用 websocket 流式传输一些表示 LED 状态的数据。我的问题是,在尝试建立 websocket 连接时,出现以下错误:
WebSocket connection to 'ws://raspberrypi:8080/' failed: Error in
connection establishment: net::ERR_NAME_NOT_RESOLVED
我认为我的错误只是由于不正确 URL 但我在研究中没有找到解决此错误的另一个例子。
当我尝试通过 LAN 在笔记本电脑上建立连接时出现此错误。如果我在 raspberry pi 上访问我的浏览器并尝试建立 websocket,则不会发生此错误。那么这是否意味着我的服务器 (apache2) 有碍事?
这是我给客户的 Javascript 文件:
addEventListener('load',init);
function init() {
console.log('page ready');
var ws = new WebSocket('ws://raspberrypi:8080/');
console.log(ws);
}
这是我的 python 脚本,它输出我想要流式传输的数据:
from gpiozero import LED
import time
import sys
if __name__ == "__main__":
led = LED(3);
while True:
led.on()
print 1
sys.stdout.flush() #flush: print to screen immediately
time.sleep(1.5)
led.off()
print 0
sys.stdout.flush() #flush: print to screen immediately
time.sleep(1.5)
下面是在 pi 上建立 websocket 的终端反馈:
snapshot
这看起来像是纯粹的 DNS 问题。
您可能想要编辑您的主机文件(在 linux 下它通常是 /etc/hosts,在 windows 下它应该是 c:\windows\system32\drivers\etc)以包含 raspberrypi 的 ip。类似于:
树莓派 192.168.0.20
这里的ip地址是你树莓派的ip
原来 Apache 是一个 http 服务器,不支持 websockets(没有第 3 方软件)。我现在已经使用 Flask-SocketIO 成功设置了一个 websocket。
我目前正在使用 raspberry pi (RPI) 和 LAMP 在我的本地网络上托管我的网页,该网络使用 websocket 流式传输一些表示 LED 状态的数据。我的问题是,在尝试建立 websocket 连接时,出现以下错误:
WebSocket connection to 'ws://raspberrypi:8080/' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED
我认为我的错误只是由于不正确 URL 但我在研究中没有找到解决此错误的另一个例子。
当我尝试通过 LAN 在笔记本电脑上建立连接时出现此错误。如果我在 raspberry pi 上访问我的浏览器并尝试建立 websocket,则不会发生此错误。那么这是否意味着我的服务器 (apache2) 有碍事?
这是我给客户的 Javascript 文件:
addEventListener('load',init);
function init() {
console.log('page ready');
var ws = new WebSocket('ws://raspberrypi:8080/');
console.log(ws);
}
这是我的 python 脚本,它输出我想要流式传输的数据:
from gpiozero import LED
import time
import sys
if __name__ == "__main__":
led = LED(3);
while True:
led.on()
print 1
sys.stdout.flush() #flush: print to screen immediately
time.sleep(1.5)
led.off()
print 0
sys.stdout.flush() #flush: print to screen immediately
time.sleep(1.5)
下面是在 pi 上建立 websocket 的终端反馈: snapshot
这看起来像是纯粹的 DNS 问题。 您可能想要编辑您的主机文件(在 linux 下它通常是 /etc/hosts,在 windows 下它应该是 c:\windows\system32\drivers\etc)以包含 raspberrypi 的 ip。类似于:
树莓派 192.168.0.20
这里的ip地址是你树莓派的ip
原来 Apache 是一个 http 服务器,不支持 websockets(没有第 3 方软件)。我现在已经使用 Flask-SocketIO 成功设置了一个 websocket。