Je cherche un exemple de code pour implémenter le chat de groupe en utilisant la bibliothèque javascript XMPP JSJac.Comment implémenter le chat de groupe (MUC) en utilisant JsJac?
0
A
Répondre
1
Je viens de terminer un chat en groupe en utilisant XMPP avec muckl 4.4 et OpenFire. Le problème clé est de faire fonctionner le proxy inverse. Comme JSJac utilise http-bind dans de nombreux cas, vous devez communiquer avec un serveur http-bind. Ces serveurs sont généralement sur un port différent de celui de votre serveur Web fournissant vos fichiers javascript.
Cela provoque des violations inter-domaines et cela ne fonctionnera pas. Voici un bon lien qui en parle: http://www.enavigo.com/2008/10/14/setting-up-jsjac-with-openfire-352/
1
En supposant que vous avez déjà une connexion à jabber (con), voici un exemple rapide de connexion à un chat de groupe.
//Set the JID with resource
//Example: [email protected]_domain/my_chat_client
var u_jid = "[email protected]_domain/my_chat_client"
//Set the Full Room ID with your username as the resource
//Example: [email protected]_domain/my_username
var full_room_id = "[email protected]_domain/my_username";
var joinPacket = new JSJaCPresence();
joinPacket.setTo(full_room_id);
//Build item affiliation element
var inode = joinPacket.buildNode("item");
inode.setAttribute("affiliation","none");
inode.setAttribute("jid",u_jid);
inode.setAttribute("role","participant");
//Build X Element (with item affiliation child)
var xnode = joinPacket.buildNode("x", [inode]);
xnode.setAttribute("xmlns", "http://jabber.org/protocol/muc#user");
//Append new nodes to join packet
joinPacket.appendNode(xnode);
//Set status in room
joinPacket.setStatus('available');
var success = con.send(joinPacket, function(data) { console.log(data.getDoc()); });