OSCAR ( O перо S ystem для C ommunic Тион в R ealtime ) является AOL «s собственный обмен мгновенными сообщениями и информацией о присутствии протокола . Он использовался системой обмена мгновенными сообщениями AOL AIM и ICQ .
Несмотря на название, спецификации протокола остаются проприетарными. AOL приложила все усилия, чтобы удержать конкурентов (а именно Microsoft , XMPP и Cerulean Studios ) от внедрения совместимых клиентов для своих проприетарных систем обмена сообщениями. [1] [2] В 2002 году AOL подписала контракт с Apple, Inc. , позволяющий им использовать OSCAR (а также собственные библиотеки кода AOL) в своих приложениях iChat . Это позволило пользователям iChat напрямую взаимодействовать с пользователями ICQ и AIM. Сделка также разрешено пользователям компании Apple .Mac сервиса войти в сеть AIM , используя их адреса электронной почты .Mac. (Это перешло и в AppleСервис MobileMe .)
По состоянию на 2009 год [Обновить]значительная часть протокола была реконструирована и реализована рядом сторонних клиентов.
Протокол OSCAR можно использовать отдельно от сети AOL. Фактически, AOL расширяет общую концепцию OSCAR, добавляя системы для служебных списков партнеров и значков, а также функции для передачи файлов с использованием Bonjour .
6 марта 2006 г. AOL выпустила AIM SDK и запустила веб-сайт для разработчиков, позволяющий разработчикам создавать плагины для AIM Triton и создавать свои собственные клиенты, которые подключаются по протоколу OSCAR. Однако на тот момент они не опубликовали никакой информации о самом протоколе.
5 марта 2008 г. AOL выпустила часть документации протокола OSCAR. Google также предоставил возможность входа в сеть AIM через клиент Google Talk, встроенный в Gmail .
Структура пакета [ править ]
Все пакеты, отправляемые через OSCAR, инкапсулируются таким же образом. Все 16-битные целые числа, отправляемые по сети, являются беззнаковыми и имеют прямой порядок байтов (см. Порядок байтов). То же самое для 32-битных целых чисел и 8-битных целых чисел (или байтов).
Заголовок FLAP [ править ]
Каждый пакет содержит специальный контейнер протокола уровня кадра (FLAP [3] ). Он последовательно несет информацию о размере пакета, канале и его номере.
Смещение ( шестнадцатеричное ) | Поле | Тип / размер (в байтах) | Замечания |
---|---|---|---|
00 | ID ЗАСЛОНКИ | байт / 1 | Всегда содержит 2А. Это отметка начала пакета. |
01 | Канал | байт / 1 | 1 = вход, 2 = уровень SNAC, 3 = ошибка, 4 = отключение |
02 | Номер по порядку | int16 / 2 | Увеличивается на 1 каждый раз при отправке пакета. Оборачивается до 0 после FFFF. |
04 | Размер данных | int16 / 2 | Размер не включает заголовок FLAP |
Данные SNAC [ править ]
Почти в каждом пакете, отправленном по каналу 2, пакеты содержат SNAC (простая сетевая атомарная связь). В пакете всегда либо один, либо ноль из них, и поэтому они не содержат (и не должны) длины.
Смещение ( шестнадцатеричное ) | Поле | Тип / размер (в байтах) | Замечания |
---|---|---|---|
00 | Foodgroup | int16 / 2 | Общий вид пакета |
02 | Тип | int16 / 2 | Конкретный тип пакета |
04 | Флаги | int16 / 2 | |
06 | ID запроса | int32 / 4 | Идентификатор запроса, он может быть случайным, но клиенты не могут отправить его с установленным битом высшего порядка. |
Реализации [ править ]
Язык программирования | Реализации |
---|---|
C | libpurple GnomeICU |
C # | NOscar |
C ++ | QOscar (Qt) [ постоянная мертвая ссылка ] |
C # 2.0 | ОскарЛиб |
Ява | joscar Instant Messenger Lib daim |
Цель-C | LibOrange |
OCaml | млОскар |
Python | TwistedWords |
Perl | Сеть :: ОСКАР |
PHP | WebIcqPro |
См. Также [ править ]
- Сравнение клиентов обмена мгновенными сообщениями
- Сравнение протоколов обмена мгновенными сообщениями
- Протокол TOC , бесплатный, но устаревший протокол обмена сообщениями AOL.
- Протокол TOC2 , по состоянию на 2009 год [Обновить], самая последняя версия протокола TOC.
Ссылки [ править ]
- ^ https://www.theregister.co.uk/2002/01/31/aol_blocks_trillian_im_access/
- ^ http://www.geek.com/news/aol-vs-trillian-continues-548381/
- ^ "FLAP - протокол уровня кадра" . Сеть разработчиков AOL . AOL. 2008-03-05. Архивировано из оригинала на 2008-03-08 . Проверено 1 ноября 2009 .
Внешние ссылки [ править ]
- Официальная документация OSCAR (требуется логин) - больше не доступно (12.07.2010)
- Неофициальная спецификация протокола AIM / OSCAR
- Архивная официальная документация
- FAIM: Спецификация протокола FAIM / AIM / OSCAR