2016-05-12 2 views
0

Я использую strophe.js и ejabberd для реализации чата на моем сайте. Но я не смог успешно отправить сообщение или получить сообщения с помощью mam. Журнал печатает строки SENT: и RECV:. Код, я использую, чтобы отправить сообщение являетсяНе удалось отправить сообщение с помощью strophe.js и ejabberd

var m = $msg({to: '[email protected]', from: '[email protected]', type: 'chat'}).c("body").t('body'); connection.send(m);

и ПОСЛАНА строка полученного

SENT: <body rid='3431080199' xmlns='http://jabber.org/protocol/httpbind'><enable xmlns='urn:xmpp:sm:3' resume='false'/><message to='[email protected]' from='[email protected]' type='chat' xmlns='jabber:client'><body>body</body></message></body>

Я попытался с Gajim клиентом для без ответа. Но если я извлекать «тело» тег как ...

<message to='[email protected]' from='[email protected]' type='chat' xmlns='jabber:client'><body>body</body></message>

чат правильно принят. Тег 'body' добавляется со всеми запросами по умолчанию. В чем может быть проблема. Пожалуйста, предоставьте решение.

ответ

0

кузов должен быть добавлен только библиотекой, реализующей XMPP через BOSH. Они являются частью структуры управления BOSH и сигнализации. Я предполагаю, что ваш клиент Strophe использует BOSH, поэтому ожидается, что будут обертки BOSH. Я также предположил, что вы подключаетесь с помощью стандартного XMPP с помощью Gajim, поэтому вам нужно использовать стандартный XMPP без обертки BOSH. В противном случае он не понимается как пакет XMPP (тег body не является допустимым пакетом XMPP).

Все кажется нормальным и ожидаемым.