Difference between revisions of "MicroXMPP"
(правка списка возможностей) |
(1) |
||
| Line 36: | Line 36: | ||
Из возможностей библиотеки особенно хочется отметить [[TLS]]. Для его поддержки требуется установить {{w|OpenSSL}} либо {{w|GnuTLS}}. Библиотека µXMPP задумана кроссплатформенной, пока проверена компиляция под {{w|MinGW}} и {{w|Cygwin}}. Готовая программа для [[Windows]] прилагается. | Из возможностей библиотеки особенно хочется отметить [[TLS]]. Для его поддержки требуется установить {{w|OpenSSL}} либо {{w|GnuTLS}}. Библиотека µXMPP задумана кроссплатформенной, пока проверена компиляция под {{w|MinGW}} и {{w|Cygwin}}. Готовая программа для [[Windows]] прилагается. | ||
| − | == | + | == Минималистический клиент '''uJabber''' == |
| − | + | Минималистический клиент '''uJabber''', иллюстрирует работу библиотеки. | |
| + | |||
| + | Для сборки: | ||
| + | * С установленной библиотекой OpenSSL всё должно собираться. Не забудьте выбрать Makefile, соответствующий Вашей системе. | ||
| + | * Для библиотеки GNU TLS нужно поправить Makefile, а также изменить имя подключаемого файла в sokio.с | ||
| + | * Для компиляции без поддержки SSL и TLS, нужно закомментировать строчку "#define SOCKIO_USE_TLS" в файле sokio.h | ||
| + | |||
| + | Использование: | ||
| + | * Крайне рекомендуется запускать программу с использованием конфигурационного файла (config.xml или gtalk.xml). Не забудьте прописать в нём данные Вашего аккаунта. Если Вы не хотите хранить в файле Ваш пароль, удалите элемент pass, который находится в <config><account>. | ||
| + | * Во время работы '''uJabber''' создаёт лог-файл ujabber.log, полезный при разборе полётов. Прежде чем его куда-либо отправлять, удалите оттуда Ваш пароль. | ||
| + | * Чтобы пообщаться, выберете контакт командой "!jid", например "!user@example.com". Ваши дальнейшие сообщения будут посланы ему. | ||
| + | * Чтобы сменить статус, наберите "*status message". Например, команда "*a I'm out" выставит статус away с сообщением "I'm out". | ||
| + | * Чтобы получать сообщения о статусе других пользователей, их нужно добавить командой "+jid". Удалить пользователя можно командой "-jid". Заметьте, что команду "+jid" Вам понадобится набрать дважды (сначала посылается заброс авторизации, затем подписываемся на изменения статуса). Это баг, я знаю. | ||
| + | * Всё, что не начинается с символов "!*+-", считается сообщением. Сообщение посылается контакту, выбранному командой ''!jid''. | ||
| + | * Помните, что любой ввод нужно завершать клавишей Enter. Иначе '''uJabber''' так и будет ждать Вашего ввода, и его в конце концов отключит сервер. | ||
== Ссылки == | == Ссылки == | ||
* [http://xmppmicro.110mb.com/ Страничка проекта] | * [http://xmppmicro.110mb.com/ Страничка проекта] | ||
Revision as of 21:20, 17 May 2009
| µXMPP | |
|---|---|
| Информация | |
| Адрес: | http://xmppmicro.110mb.com/ |
| Автор: | Дмитрий Григорьев |
| Язык: | C |
| Лицензия: | GPL v3 |
| XML-парсер: | встроенный |
| Реализация стандартов | |
| Анализ JID-а: | да |
| SASL-авторизация: | да (TLS, PLAIN) |
| Регистрация компонента: | нет |
| Ростер: | в разработке |
| Data Forms: | нет |
| Передача файлов: | нет |
| Service Discovery: | нет |
| Ad-Hoc команды: | нет |
| Сжатие XML потока: | нет |
| PubSub: | нет |
| PEP: | нет |
| Jingle: | нет |
| Использование | |
| Программы, использующие µXMPP | |
ЯВики используйте название
µXMPP
На других ресурсах
можно также давать ссылку
http://jawiki.ru/MicroXMPP
µXMPP — микроскопическая библиотека (скорее, даже набор функций), реализующая протокол XMPP (Jabber).
Проект обновляется понемногу, но регулярно.
От автора
Идея родилась несколько месяцев назад, когда мне приспичило написать свой Jabber-клиент. Скачав штук пять разных библиотек на С, я стал с ними разбираться, но никак не находил заветной функции «старт», которая бы подключилась к серверу с заданным идентификатором и паролем. Было решено, что проще всё сделать самому.
Возможности
На данный момент функциональность у библиотеки не слишком богатая. Клиент на её основе может подключиться к серверу (проверял jabber.org), отправить и принять сообщение. Однако и сам клиент невелик — менее 200 строк на C. Так что разобраться с ним несложно.
Из возможностей библиотеки особенно хочется отметить TLS. Для его поддержки требуется установить OpenSSL либо GnuTLS. Библиотека µXMPP задумана кроссплатформенной, пока проверена компиляция под MinGW и Cygwin. Готовая программа для Windows прилагается.
Минималистический клиент uJabber
Минималистический клиент uJabber, иллюстрирует работу библиотеки.
Для сборки:
- С установленной библиотекой OpenSSL всё должно собираться. Не забудьте выбрать Makefile, соответствующий Вашей системе.
- Для библиотеки GNU TLS нужно поправить Makefile, а также изменить имя подключаемого файла в sokio.с
- Для компиляции без поддержки SSL и TLS, нужно закомментировать строчку "#define SOCKIO_USE_TLS" в файле sokio.h
Использование:
- Крайне рекомендуется запускать программу с использованием конфигурационного файла (config.xml или gtalk.xml). Не забудьте прописать в нём данные Вашего аккаунта. Если Вы не хотите хранить в файле Ваш пароль, удалите элемент pass, который находится в <config><account>.
- Во время работы uJabber создаёт лог-файл ujabber.log, полезный при разборе полётов. Прежде чем его куда-либо отправлять, удалите оттуда Ваш пароль.
- Чтобы пообщаться, выберете контакт командой "!jid", например "!user@example.com". Ваши дальнейшие сообщения будут посланы ему.
- Чтобы сменить статус, наберите "*status message". Например, команда "*a I'm out" выставит статус away с сообщением "I'm out".
- Чтобы получать сообщения о статусе других пользователей, их нужно добавить командой "+jid". Удалить пользователя можно командой "-jid". Заметьте, что команду "+jid" Вам понадобится набрать дважды (сначала посылается заброс авторизации, затем подписываемся на изменения статуса). Это баг, я знаю.
- Всё, что не начинается с символов "!*+-", считается сообщением. Сообщение посылается контакту, выбранному командой !jid.
- Помните, что любой ввод нужно завершать клавишей Enter. Иначе uJabber так и будет ждать Вашего ввода, и его в конце концов отключит сервер.