НавигацияВход для пользователейОблачко |
Написание компонента для jabberd 1.4.x![]() Простая инструкция для написания компонента jabberd Компонент может работать независимо от сервера джаббера. Есть два типа соединения компонента с сервером джаббера: 1. Компонент сам подключается к серверу. 2. Сервер сам подключается к компоненту. Для обоих случаев применяется разное пространство имен XML streams: * service-to-host - jabber:component:accept * host-to-service - jabber:component:connect Обычно используют схему, когда компонент сам подключается к сервису. Итак, чтобы компонент мог соединиться с сервером, он должен открыть сеанс связи:
<?xml version='1.0' encoding='UTF-8'?> <stream:stream to='server' from='component' xmlns='jabber:component:accept' xmlns:stream='http://etherx.jabber.org/streams'>
Компонент получит в ответ от сервера:
<?xml version='1.0'?> <stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='3EBFDB80' xmlns='jabber:component:accept' from='component'>
Мы должны использовать значение аттрибута id для составления пароля. Пароль состоит из контакентации содержимого id и текста пароля, зашифрованной по алгоритму SHA-1. Причем длина получившегося ключа должна равняться 40 символам. Отсылаем получившийся пароль серверу:
<handshake>ecba7e57236222f4aa2a27bf718c52344b15dcef</handshake>
Если пароль прощел, то сервер ответит:
<handshake/>
Если пароль не подошел, то сервер пришлет <stream:error/>. Далее компонент может применять все элементы протокола XMPP. Главное, надо помнить, что все пакеты, которые компонент отсылает серверу, обязательно должны содержать атрибут "from".
Опубликовано ermine@jabber.ru в вт, 2003-05-13 11:14. categories [ ]
|
Последние комментарии
4 дня 12 часов назад
4 дня 21 час назад
1 неделя 2 дня назад
2 недели 1 час назад
2 недели 1 час назад
2 недели 3 дня назад
2 недели 4 дня назад
2 недели 5 дней назад
2 недели 5 дней назад
2 недели 6 дней назад