Javascript 在浏览器中使用XMPP.js连接到XMPP服务器

Javascript 在浏览器中使用XMPP.js连接到XMPP服务器,javascript,websocket,xmpp,Javascript,Websocket,Xmpp,我正在尝试在浏览器中使用本地xmpp服务器运行测试 import { client } from '@xmpp/client'; const xmpp = client({ service: 'xmpp://localhost:5222/', username: 'user', password: 'pass', }); xmpp.start().catch(err => { console.error('start failed', err); }); 但我得到了以

我正在尝试在浏览器中使用本地xmpp服务器运行测试

import { client } from '@xmpp/client';

const xmpp = client({
  service: 'xmpp://localhost:5222/',
  username: 'user',
  password: 'pass',
});

xmpp.start().catch(err => {
  console.error('start failed', err);
});
但我得到了以下错误:

找不到兼容的连接方法

据我所知,浏览器需要websocket连接而不是xmpp连接


xmpp.js
文档说它也支持WebSocket,但我不确定为了成功连接我必须做哪些更改。我是否必须将WS-support添加到我的XMPP服务器?

很可能您必须更改
服务
URI-协议和端口部分。根据需要,您应使用:

service: 'ws://localhost:5280/xmpp-websocket',

确切路径可能依赖于xmpp服务器(即,
xmpp websocket
可能不需要)-请检查您的服务器文档。

就是这样,但我最终切换到了Strophe。@norbert我如何加载Strophe?当我将strophe.js文件复制到我的项目文件夹并运行echobot示例时,我得到一个导入错误。你能给我指一个教程或者如何设置strophe吗?供任何在使用Electron时遇到这个问题的人参考,这个错误意味着你在渲染器进程(仅支持WebSocket)中运行XMPP代码,而它应该在后台进程中(节点支持XMPP和WebSocket)。