2010-04-13 7 views

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()); });