Javascript - Websockets 错误 ERR_NAME_NOT_RESOLVED

标签 javascript python websocket apache2 raspberry-pi3

我目前正在使用带有 LAMP 的树莓派 (RPI) 在我的本地网络上托管我的网页,该网络使用 websocket 流式传输一些表示 LED 状态的数据。我的问题是,在尝试建立 websocket 连接时,出现以下错误:

WebSocket connection to 'ws://raspberrypi:8080/' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED

我认为我的错误只是因为 URL 不正确,但我在研究中没有找到解决此错误的另一个示例。

当我尝试通过 LAN 在笔记本电脑上建立连接时会发生此错误。如果我在树莓派上打开浏览器并尝试建立 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

最佳答案

原来 Apache 是一个 http 服务器,不支持 websockets(没有第 3 方软件)。我现在已经使用 Flask-SocketIO 成功设置了一个 websocket。

关于Javascript - Websockets 错误 ERR_NAME_NOT_RESOLVED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47098851/

相关文章:

javascript - 在 Node.js 中向文件追加行会导致内容以随机顺序写入

Python多线程-全局解释器锁

websocket - SignalR 在跨域的情况下执行长轮询而不是 websocket

WebSocketHandler 不调用初始化

javascript - 像时钟一样围绕圆定位多个 div 元素

javascript - json数组文件使用javascript未定义

python - 通过 Outlook 添加附件到电子邮件 (Python)

python - 使用 lxml 解析 HTML 中的段落

node.js - 如何在 Node.js 中从 Websocket 接收二进制数据?

javascript - 查找使用 vue-cli 生成的 Webpack-simple 和 Vuejs 图像的问题