Bimoid — разработчикам, протокол, плагины

OBIMP — Open Binary Instant Messaging Protocol

OBIMP это открытый бинарный протокол для обмена сообщениями, который лежит в основе проекта Bimoid. Первый черновик протокола был опубликован 9 мая 2010 года. За два года он претерпел несколько ревизий. Самая последняя из них доступна ниже для ознакомления.

Скачать черновик последней ревизии протокола OBIMP (декабрь 2012, формат RTF):

OBIMP Draft 1.1 rev. C

Анализатор пакетов протокола OBIMP

В помощь разработчикам доступна библиотека анализатора пакетов протокола OBIMP. В архиве идёт небольшая инструкция и пример динамического подключения этой библиотеки.

В Bimoid мессенджере имеется поддержка этой библиотеки. Чтобы появилось окно анализатора, необходимо скопировать только файл ObimpLog.dll из архива, предоставленного ниже, в папку с мессенджером и запустить Bimoid.exe с параметром командной строки «/pktlog».

Скачать архив анализатора пакетов протокола OBIMP:

ObimpPkt.zip

microOBIMP Client SDK

Клиентский SDK для разработчиков (Windows). На данный момент возможности SDK минимальны. Библиотека написана на основе протокольной части Bimoid Messenger.

SDK состоит из двух независимых частей:
Часть 1: ActiveX реализация библиотеки (папка ActiveX_DLL)
Часть 2: Прежняя реализация библиотеки (папка Direct_DLL)

Какой из частей пользоваться — на выбор разработчика. Отличия между ними в том, что ActiveX работает как COM сервер и библиотеку obimp_ax.dll надо прежде зарегистрировать как положено через regsvr32. А прежняя реализация требует динамической линковки библиотеки mobimp.dll и вызова соответствующей экспортной функции для обмена интерфейсами.

Обе части содержат тестовые проекты на Delphi, позволяющие разобраться в работе библиотек (компилировать желательно в Delphi 2009 и выше).

Текущие возможности SDK (v.1003):

  • подключение к любому OBIMP серверу
  • установка/смена статуса
  • отправка/прием сообщений
  • отправка/прием уведомлений о доставке сообщений
  • отправка/прием сообщений авторизации (запрос/ответ/отзыв)

Скачать:

microOBIMP Client SDK

Bimoid Server Plugins SDK

Серверный SDK для разработчиков серверных плагинов (Windows). На данный момент возможности SDK минимальны. Плагин на сервере это такое же расширение (extension), как транспорт, поэтому установка DLL файла плагина идентична установке DLL транспорта.

SDK состоит из:

  • u_ext_info.pas — заголовочный файл на паскале с описанием структур и интерфейсами взаимодействия с сервером
  • u_obimp_const.pas — заголовочный файл протокола OBIMP
  • testplug.dpr — тестовый проект на Delphi, позволяющий разобраться в работе плагина (компилировать в D2009 и выше)
  • u_plugin.pasu_params.pas — вспомогательные файлы проекта testplug
  • testplug.dll — уже скомпилированный тестовый проект, который может вести лог сообщений в файл

Текущие возможности SDK:

  • возможность подписаться на текстовые сообщения сервера

Скачать Plugins SDK:

Bimoid Server 2.0+ Plugins SDK (Delphi)
Bimoid Server 1.0 Plugins SDK (Delphi)
Портированный на VC++ пример из SDK (для Bimoid Server 1.0)

Bimoid IM (Android)

Исходный код Android версии Bimoid мессенджера открыт и доступен на GitHub. Все желающие могут его изучить или заняться дальнейшим развитием.

Bimoid IM (Android) на GitHub