websocket 如何为基于Web的终端设置套接字

xdnvmnnf  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(171)

我目前正在做一个项目,想在node-red-dashboard中实现一个基于web的终端。我已经设置了xterm和wetty。问题是我对socket的了解很少。目前我试图将wetty与xterm链接起来,但它不起作用。

<link rel="stylesheet" href="/xterm/css/xterm.css" />
<script src="/xterm/lib/xterm.js"></script>
<script src="/xterm-addon-attach/lib/xterm-addon-attach.js"></script>
<div id="terminal"></div>
<script>
    const socketio = context.global.get("socket.io");
        //const sockett = new nett.Socket('3001');
    const socket1 = io("ws://localhost:3001");
    var term = new Terminal();
    var attachAddon = new AttachAddon(socket1);
    term.loadAddon(attachAddon);
    term.open(document.getElementById('terminal'));
    term.write('Raspberry $ ');
</script>

Wetty托管在端口3001上,我想将其链接到同一台机器上的节点。我做错了什么?

xvw2m8pv

xvw2m8pv1#

您无法从NR Dashboard模板节点中访问上下文,因为它是在浏览器中运行的,而不是在NR后端中。
由于NR Dashboard已经使用了Socket.IO,因此应该不需要再次尝试加载它。
删除以下行:

const socketio = context.global.get("socket.io");

相关问题