OSCAR (англ. Open System for CommunicAtion in Realtime — открытая система для общения в реальном времени) — открытый5 марта 2008 года), но не свободный сетевой протокол, обеспечивающий обмен мгновенными и офлайновыми текстовыми сообщениями.

OSCAR
Название OSCAR
Уровень (по модели OSI) Прикладной
Семейство TCP/IP
Создан в 1996
Порт/ID 5190/TCP, 5190/UDP
Назначение протокола Служба мгновенного обмена сообщениями
Разработчик AOL

Особенности протокола

править
  • Каждому пользователю выдаётся UIN (англ. Unique Identification Number) — уникальный идентификационный номер, по которому пользователь однозначно определяется системой и другими пользователями. В настоящее время (январь 2010 г.) для совместимости с AIM вместо UIN используется понятие ScreenName.
  • Пользователь имеет возможность выбрать себе ник, который играет роль личного имени в его сообщениях. В отличие от UIN, ники не уникальны для каждого пользователя.
  • В AOL Instant Messenger функцию UIN играют SN (англ. Screen Name) — так называемые экранные имена, уникальные для каждого пользователя.
  • Протокол поддерживает несколько состояний, в которых может находиться пользователь. Состояния устанавливаются пользователем.

Состояния

править
  • Online — доступен
  • Free for chat (F4C) — свободен
  • Away — вдали от компьютера (долго не работал)
  • Not available (N/A) — недоступен
  • Occupied — занят
  • Do not disturb (DND) — не беспокоить
  • Invisible — невидим
  • Offline — отключён

В программах-клиентах сторонних разработчиков некоторые состояния могут отсутствовать или иметь место дополнительные.

Реализации протокола

править

Существует большое количество альтернативных клиентов ICQ для разных операционных систем, например: Miranda IM (Windows), QIP 2012 (Windows), &RQ (Windows), Pidgin (Windows, GNU/Linux), Licq (GNU/Linux), Kopete (GNU/Linux), qutIM (Windows, GNU/Linux, Mac OS X), Adium (Mac OS X) и пр.

5 марта 2008 года AOL открыла спецификации протокола (как впоследствии оказалось — не полностью: с помощью изменения закрытых деталей спецификации впоследствии 3 раза блокировались все неофициальные клиенты) и разрешила создание альтернативных клиентов, но с некоторыми ограничениями, установленными лицензией — например, клиент, используемый более чем 100 000 пользователями, должен показывать рекламу.

Реализации на различных языках программирования
Язык программирования Реализации
C libpurple
GnomeICU
C++ QOscar (Qt) (недоступная ссылка)
C# NOscar
OscarLib
Java joscar
JOscarLib /*info*/
daim (недоступная ссылка)
icqlib
JIL
OCaml mlOscar
Python TwistedWords
Perl Net::Oscar
PHP WebIcqPro
BasICQ

Ссылки

править