我做的節點JS和XMPP的NodeJS XMPP服務器
的第一步,我需要在XMPP服務器節點JS運行的消息
具體的過程: 我使用節點XMPP服務器https://github.com/astro/node-xmpp 運行服務器示例(/examples/c2s.js) 加入服務器與兩個客戶端(客戶端在其他服務器上測試jabber - 它的工作原理和消息正在發送)
客戶端在我的服務器上有授權。 但是,當我從一個客戶端發送消息到另一個,消息來到服務器(我在日誌中看到它) ,那就是消息不來接收者
我不知道在哪裏看問題 服務器配置?路由?消息可能需要添加自己?
幫我PLZ
我的服務器代碼(通過實例)
var xmpp = require('../lib/node-xmpp');
var c2s = new xmpp.C2SServer({
port: 5222,
domain: 'localhost'
});
// On Connect event. When a client connects.
c2s.on("connect", function(client) {
c2s.on("register", function(opts, cb) {
console.log("REGISTER");
cb(true);
});
client.on("authenticate", function(opts, cb) {
console.log("AUTH" + opts.jid + " -> " +opts.password);
cb(null);
});
client.on("online", function() {
console.log("ONLINE");
client.send(new xmpp.Message({ type: 'chat' }).c('body').t("Hello there, little client."));
});
client.on("stanza", function(stanza) {
console.log("STANZA" + stanza);
});
client.on("disconnect", function(client) {
console.log("DISCONNECT");
});
});
我運行一個服務器,並通過這個代碼
var xmpp = require('../lib/node-xmpp');
var argv = process.argv;
if (argv.length < 6) {
console.error('Usage: node send_message.js <my-jid> <my-password> <my-text> <jid1> [jid2] ... [jidN]');
process.exit(1);
}
var cl = new xmpp.Client({ jid: argv[2], password: argv[3] });
cl.addListener('online',
function() {argv.slice(5).forEach(
function(to) {cl.send(new xmpp.Element('message', { to: to,type: 'chat'}).c('body').t(argv[4]));
});
// nodejs has nothing left to do and will exit
// cl.end();
});
cl.addListener('stanza',
function(stanza) {
if (stanza.is('message') &&
// Important: never reply to errors!
stanza.attrs.type !== 'error') {
console.log("New message");
// Swap addresses...
stanza.attrs.to = stanza.attrs.from;
delete stanza.attrs.from;
// and send back.
cl.send(stanza);
}
});
cl.addListener('error',
function(e) {
console.error(e);
process.exit(1);
});
請發佈有問題的代碼,否則我們沒有任何信息,只會猜測! – MattJ
您是否正在使用發件之前的發件人? – Robert