Как реализовать групповой чат (MUC) с использованием JsJac? - PullRequest
0 голосов
/ 13 апреля 2010

Я ищу пример кода для реализации группового чата с использованием библиотеки JMP Javascript XMPP.

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Если у вас уже есть соединение с jabber (con), вот краткий пример того, как подключиться к групповому чату.

//Set the JID with resource
//Example: my_username@my_domain/my_chat_client
var u_jid = "my_username@my_domain/my_chat_client"

//Set the Full Room ID with your username as the resource
//Example: room_name@conference.my_domain/my_username
var full_room_id = "room_name@conference.my_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()); });
1 голос
/ 12 апреля 2011

Только что завершил групповой чат, используя XMPP с muckl 4.4 и OpenFire. Ключевой вопрос - получение и запуск обратного прокси. Так как во многих случаях JSJac использует http-bind, вам необходимо связаться с сервером http-bind. Эти серверы обычно находятся на другом порту, чем ваш веб-сервер, предоставляющий ваши файлы JavaScript.

Это вызывает междоменные нарушения и не будет работать. Вот хорошая ссылка, которая говорит об этом: http://www.enavigo.com/2008/10/14/setting-up-jsjac-with-openfire-352/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...