如何連接到Jabber會議?發送和接收消息。獲取在線用戶列表。在Node.js上通過node-xmpp連接到會議
2
A
回答
6
使用prosody.im從localhost
做了一些測試。我有兩個客戶:
alfred1
:只是正常XMPP客戶alfred2
:我的機器人
我創建MUC [email protected]
。
當我第一次連接到XMPP客戶端的通道(alfred1
),然後運行bot時,我收到來自bot的測試消息(alfred2
)。當我從XMPP客戶端發送消息時,我還會在控制檯收到來自alfred1
的聊天消息。
var xmpp = require('node-xmpp'),
sys = require('sys'),
jid = '[email protected]',
password = '1234',
room_jid = '[email protected]',
room_nick = 'alfred2',
conn = new xmpp.Client({
jid : jid,
password : password,
});
conn.on('online', function() {
console.log('online');
//var elm2 = new xmpp.Element('presence', { from: jid, to: '[email protected]'}).c('x', {'xmlns': 'http://jabber.org/protocol/muc' }).up();
conn.send(new xmpp.Element('presence', { to: room_jid +'/' + room_nick }).
c('x', { xmlns: 'http://jabber.org/protocol/muc' })
);
conn.send(new xmpp.Element('message', { to: room_jid, type: 'groupchat' }).
c('body').t('test')
);
});
conn.on('stanza', function(stanza) {
sys.puts(stanza);
});
conn.on('error', function(e) {
sys.puts(e);
});
也許以後我試着改進代碼了一點,但我想這可以讓你去...
從jabber.org:
但一如既往如果您有疑問 或評論,請隨時通過XMPP或HTTP加入 [email protected]聊天室 。
您的意思是連接到[email protected]?
我相信應該查閱MUC規格。我認爲只能使用node-xmpp,但node-xmpp是相當低級的庫。我使用npmjs.org's search尋找支持MUC的模塊,但是無法讓它們工作。我認爲MetaJack的source-code about MUC可以幫助你。這可能是一個有趣的項目,我猜想在週末實施。
當你喜歡立即開始時,你應該可能(也許有人在node-xmpp中有MUC?)看看Smack(Java),例如它支持MUC。
相關問題
- 1. 如何通過Node.js連接到Postgres
- 2. 通過Node.js連接到ElastiCache羣集
- 3. 通過Node.js連接Sql Server
- 4. 到Node.js的,連接 - 蒙戈並行請求,會議覆蓋
- 5. 無法通過heroku上的node.js連接到mongolab
- 6. 通過Node.js上的XMPP連接到Google Talk
- 7. 通過使用node.js通過打開連接到mongo
- 8. Node.js連接會話
- 9. 在Apache MQ上通過mqtt協議立即重新連接
- 10. 使用Redis的-連接,但會議正在上的node.js服務器重啓
- 11. 通過網絡掛接連接谷歌主頁到Node.js的
- 12. 粘socket.io會議通過cookie中的node.js集羣,而不黏快遞會議
- 13. InvalidRequestError:對象 '' 已經連接到會議
- 14. 通過iOS上的websocket連接到XMPP?
- 15. 通過windows上的ssh連接到mercurial
- 16. 通過IP連接到VirtualBox上的QNX
- 17. PHP會議上沒有通過可變
- 18. 使用wsdl2code通過WSDL連接webservice會拋出java.net.MalformedURLException:找不到協議:
- 19. Twilio - 連接到會議室時,恢復通話參與者
- 20. 通過SSL/TLS連接訪問Vagrant上的Node.js應用程序
- 21. 通過Node.js通過Putty與Azure虛擬機連接?
- 22. 通過ODBC通過PHP連接到Oracle
- 23. 未能通過Arduino Ethernet Shield連接到Node.js Web服務器
- 24. 如何通過Node.js從Red Hat 6.4連接到SQL Server
- 25. 錯誤「目標出界」通過的XBee連接到與Node.js的/
- 26. 通過socket.io連接到MySQL數據庫的Node.js腳本
- 27. 連接到遠程SSH服務器(通過Node.js/html5控制檯)
- 28. Android通過免提協議連接到藍牙
- 29. 如何通過SMPP協議連接到SMSC服務器?
規格 http://xmpp.org/extensions/xep-0045.html#register 的node.js例如 http://pastebin.com/FdWHYTq9 但沒有結果,用戶未登錄到聊天=( – igor
yup創建節自己是棘手的;)... – Alfred
說實話我也不是專家那..希望別人可以幫助你更好... – Alfred