Знаете ли вы о каких-либо устаревших клиентских библиотеках XMPP javascript? Библиотеки, которые я пробовал:
- node-xmpp-client
2. @ xmpp / client
У меня проблемы с использованием @XMPP / клиент. Пожалуйста, ознакомьтесь с кодом ниже и ошибкой.
Результат: Распечатайте "Я онлайн", когда пользователь вошел в систему.
Пожалуйста, включите любые учебные ресурсы, если вы знаете о
КОД:
var app = require('express')();
//const xmpp = require('xmpp-ftw');
//const BuddyCloud = require('xmpp-ftw-buddycloud');
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
server.listen(process.env.PORT || 3000);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
const {client, xml} = require('@xmpp/client')
const xmpp = client({
service: 'ws://domain.com:5280/xmpp-websocket',
domain:'domain.com',
username: 'test',
password:'pa$$word'
});
xmpp.on('online', ()=>{
console.log('I am Online');
});
xmpp.on('stanza', async stanza => {
if (stanza.is('message')) {
await xmpp.send(xml('presence', {type: 'unavailable'}))
await xmpp.stop()
}
});
xmpp.start();
ОШИБКА:
Error: Unexpected server response: 404
at ClientRequest.req.on (/Users/my-name/xmmp-begin-2/node_modules/ws/lib/websocket.js:579:7)
at ClientRequest.emit (events.js:198:13)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
at Socket.socketOnData (_http_client.js:442:20)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead (internal/stream_base_commons.js:94:17)
Emitted 'error' event at:
at Socket.listeners.error.error (/Users/my-name/xmmp-begin-
2/node_modules/@xmpp/connection/index.js:98:12)
at Socket.emit (events.js:203:15)
at WebSocket.listeners.error.event (/Users/my-name/xmmp-begin-
2/node_modules/@xmpp/websocket/lib/Socket.js:40:12)
at WebSocket.onError (/Users/my-name/xmmp-begin-2/node_modules/ws/lib/event-target.js:128:16)
at WebSocket.emit (events.js:198:13)
at abortHandshake (/Users/my-name/xmmp-begin-2/node_modules/ws/lib/websocket.js:697:15)
at ClientRequest.req.on (/Users/my-name/xmmp-begin-2/node_modules/ws/lib/websocket.js:579:7)
[... lines matching original stack trace ...]
at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
my-name-MacBook-Pro:xmmp-begin-2 my-name$
РАСПОЛОЖЕНИЕ БЛОКА НА ПРОЗОДЕ:
server {
listen 80;
listen [::]:80;
server_name my-domain.net;
location /xmpp-websocket/
{
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass "http://localhost:5280/xmpp-websocket";
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_read_timeout 900s;
}
location / {
proxy_pass "http://localhost:8000/";
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
}
}