我已经使用node-xmpp-bosh设置了一个简单的BOSH和WebSocket服务器,如下所示:
const nxb = require("node-xmpp-bosh");
const PORT = process.env.PORT || 5280;
const server_options = {
port: PORT,
host: '0.0.0.0',
path: '/http-bind/',
logging: 'INFO'
};
const bosh_server = nxb.start_bosh(server_options);
const ws_server = nxb.start_websocket(bosh_server, server_options);我已经将此服务器部署到Heroku,现在我正尝试使用它与Strophe创建一个XMPP连接。
var conn = new Strophe.Connection(
"wss://votebot-web-app-bosh.herokuapp.com/http-bind/",
{protocol: "wss"}
);
conn.connect(...);如果我打开浏览器开发工具,我可以看到一个对wss://votebot-web-app-bosh.herokuapp.com/http-bind/的GET请求,状态码为101 Switching Protocols,但是没有响应。
实际上,Heroku日志显示了这个错误:
[2017-06-09 20:10:17.359] [WARN] [xmpp-proxy-connector.js:Object.stanza:138] - WEBSOCKET d99abd10-683a-485c-a1b8-21f960418523 bosh-stanza - stream not available我被困在这里了,所以我想知道是否有人已经在WebSockets上使用过XMPP,可以给我任何建议。提前谢谢。
编辑:如果重要的话,我忘了加一句,我可以通过相同的网址(https://votebot-web-app-bosh.herokuapp.com/http-bind/)成功地连接到BOSH服务。
https://stackoverflow.com/questions/44466123
复制相似问题