Difference between revisions of "MicroXMPP"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(1)
(Минималистический клиент '''uJabber''': ох, всё исправлять приходится...)
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 ==
  
Минималистический клиент '''uJabber''', иллюстрирует работу библиотеки.
+
Минималистический клиент, иллюстрирующий работу библиотеки.
  
Для сборки:
+
=== Сборка ===
* С установленной библиотекой OpenSSL всё должно собираться. Не забудьте выбрать Makefile, соответствующий Вашей системе.
+
* Для библиотеки GNU TLS нужно поправить Makefile, а также изменить имя подключаемого файла в sokio.с
+
* Для компиляции без поддержки SSL и TLS, нужно закомментировать строчку "#define SOCKIO_USE_TLS" в файле sokio.h
+
  
Использование:
+
* С установленной библиотекой {{w|OpenSSL}} всё должно собираться. Не забудьте выбрать ''Makefile'', соответствующий вашей системе.
* Крайне рекомендуется запускать программу с использованием конфигурационного файла (config.xml или gtalk.xml). Не забудьте прописать в нём данные Вашего аккаунта. Если Вы не хотите хранить в файле Ваш пароль, удалите элемент pass, который находится в <config><account>.
+
* Для библиотеки {{w|GnuTLS}} нужно поправить ''Makefile'', а также изменить имя подключаемого файла в ''sokio.c''.
* Во время работы '''uJabber''' создаёт лог-файл ujabber.log, полезный при разборе полётов. Прежде чем его куда-либо отправлять, удалите оттуда Ваш пароль.
+
* Для компиляции без поддержки SSL и TLS, нужно закомментировать строчку «#define SOCKIO_USE_TLS» в файле ''sokio.h''.
* Чтобы пообщаться, выберете контакт командой "!jid", например "!user@example.com". Ваши дальнейшие сообщения будут посланы ему.
+
 
* Чтобы сменить статус, наберите "*status message". Например, команда "*a I'm out" выставит статус away с сообщением "I'm out".
+
=== Использование ===
* Чтобы получать сообщения о статусе других пользователей, их нужно добавить командой "+jid". Удалить пользователя можно командой "-jid". Заметьте, что команду "+jid" Вам понадобится набрать дважды (сначала посылается заброс авторизации, затем подписываемся на изменения статуса). Это баг, я знаю.
+
 
* Всё, что не начинается с символов "!*+-", считается сообщением. Сообщение посылается контакту, выбранному командой ''!jid''.
+
* Крайне рекомендуется запускать программу с указанием конфигурационного файла (''config.xml'' или ''gtalk.xml''). Не забудьте прописать в нём данные вашего аккаунта. Если вы не хотите хранить в файле свой пароль, удалите элемент ''pass'', который находится в элементе ''/config/account''.
* Помните, что любой ввод нужно завершать клавишей Enter. Иначе '''uJabber''' так и будет ждать Вашего ввода, и его в конце концов отключит сервер.
+
* Во время работы uJabber создаёт лог-файл ''ujabber.log'', полезный при разборе полётов. Прежде чем его куда-либо отправлять, удалите оттуда ваш пароль.
 +
* Чтобы пообщаться, выберите контакт командой «!''<jid>''», например, «!user@example.com». Ваши дальнейшие сообщения будут посланы ему.
 +
* Чтобы сменить [[статус]], наберите «*''<status>'' ''<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 08:08, 18 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.
Для ссылок сюда с других страниц
ЯВики используйте название
µXMPP
На других ресурсах
можно также давать ссылку
http://jawiki.ru/MicroXMPP

µXMPP — микроскопическая библиотека (скорее, даже набор функций), реализующая протокол XMPP (Jabber).

Проект обновляется понемногу, но регулярно.

От автора

Идея родилась несколько месяцев назад, когда мне приспичило написать свой Jabber-клиент. Скачав штук пять разных библиотек на С, я стал с ними разбираться, но никак не находил заветной функции «старт», которая бы подключилась к серверу с заданным идентификатором и паролем. Было решено, что проще всё сделать самому.

Возможности

На данный момент функциональность у библиотеки не слишком богатая. Клиент на её основе может подключиться к серверу (проверял jabber.org), отправить и принять сообщение. Однако и сам клиент невелик — менее 200 строк на C. Так что разобраться с ним несложно.

Из возможностей библиотеки особенно хочется отметить TLS. Для его поддержки требуется установить OpenSSL либо GnuTLS. Библиотека µXMPP задумана кроссплатформенной, пока проверена компиляция под MinGW и Cygwin. Готовая программа для Windows прилагается.

uJabber

Минималистический клиент, иллюстрирующий работу библиотеки.

Сборка

  • С установленной библиотекой OpenSSL всё должно собираться. Не забудьте выбрать Makefile, соответствующий вашей системе.
  • Для библиотеки GnuTLS нужно поправить Makefile, а также изменить имя подключаемого файла в sokio.c.
  • Для компиляции без поддержки SSL и TLS, нужно закомментировать строчку «#define SOCKIO_USE_TLS» в файле sokio.h.

Использование

  • Крайне рекомендуется запускать программу с указанием конфигурационного файла (config.xml или gtalk.xml). Не забудьте прописать в нём данные вашего аккаунта. Если вы не хотите хранить в файле свой пароль, удалите элемент pass, который находится в элементе /config/account.
  • Во время работы uJabber создаёт лог-файл ujabber.log, полезный при разборе полётов. Прежде чем его куда-либо отправлять, удалите оттуда ваш пароль.
  • Чтобы пообщаться, выберите контакт командой «!<jid>», например, «!user@example.com». Ваши дальнейшие сообщения будут посланы ему.
  • Чтобы сменить статус, наберите «*<status> <status message>». Например, команда «*a I'm out» выставит статус away с сообщением «I'm out».
  • Чтобы получать сообщения о статусе других пользователей, их нужно добавить командой «+<jid>». Удалить контакт можно командой «-<jid>». Заметьте, что команду «+<jid>» вам понадобится набрать дважды (сначала посылается запрос подписки, затем отвечаем на запрос респондента). Это моя недоработка, я знаю (— прим. разработчика).
  • Всё, что не начинается с символов «!*+-», считается сообщением. Сообщение посылается контакту, выбранному командой «!<jid>».
  • Помните, что любой ввод нужно завершать клавишей Enter. Иначе uJabber так и будет ждать вашего ввода, и его в конце концов отключит сервер.

Ссылки