Кіріспе
Тез хабар алмасу және қатысу ақпараты протоколы OSCAR (Open System for Communication in Realtime) – AOL компаниясының жеке тез хабар алмасу және қатысу ақпараты протоколы. Ол AOL-дың AIM тез хабарлау жүйесі және ICQ қолданған. Атауына қарамастан, протокол спецификациялары меншік құқығында қалады. AOL бәсекелестерді (атап айтқанда Microsoft, XMPP және Cerulean Studios) өздерінің жеке хабарлау жүйелері үшін үйлесімді клиенттерді іске асырудан алдын алу үшін көп күш жұмсады. 2002 жылы AOL компаниясы Apple, Inc. компаниясымен келісімге келді, бұл оларға OSCAR-ды (сондай-ақ AOL-дың жеке код кітапханаларын) iChat қолданбасында пайдалануға мүмкіндік берді. Бұл iChat пайдаланушыларына ICQ және AIM пайдаланушыларымен тікелей байланысуға мүмкіндік берді. Бұл келісім Apple Mac қызметін пайдаланушыларға Mac электрондық пошта мекенжайларын пайдаланып AIM желісіне кіруге де мүмкіндік берді. (Бұл Apple компаниясының MobileMe қызметіне де қатысты.) Протоколдың үлкен бөлігі кері инженерия арқылы жасалып, бірнеше үшінші тарап клиенттерімен іске асырылды. OSCAR протоколын AOL желісінен бөлек пайдалануға болады. Шындығында, AOL OSCAR-дың жалпы тұжырымдамасын кеңейтеді, серверлік жағынан достар тізімі мен белгішелерге арналған жүйелерді, сондай-ақ Bonjour арқылы файлдарды алмасу мүмкіндіктерін қосты. 2006 жылдың 6 наурызында AOL AIM SDK-ны жариялады және әзірлеушілерге AIM Triton үшін плагиндер жасауға және OSCAR протоколы арқылы қосылатын өздерінің жеке клиенттерін құруға мүмкіндік беретін әзірлеушілерге арналған веб-сайтты іске қосты. Алайда, олар сол кезде протокол туралы ешқандай ақпарат жарияламады. 2008 жылдың 5 наурызында AOL OSCAR протоколының құжаттамасының бір бөлігін жариялады. Google сонымен қатар Gmail-ге кіріктірілген Google Talk клиенті арқылы AIM желісіне кіруге мүмкіндік берді.
OSCAR (Open System for CommunicAtion in Realtime) is AOL's proprietary instant messaging and presence information protocol. It was used by AOL's AIM instant messaging system and ICQ. Despite its name, the specifications for the protocol remain proprietary. AOL has gone to great lengths to keep competitors (namely Microsoft, XMPP, and Cerulean Studios) from implementing compatible clients for their proprietary messaging systems. In 2002, AOL signed a contract with Apple, Inc., allowing them to use OSCAR (as well as AOL's own code libraries) in their iChat application. This allowed iChat users to interact with ICQ and AIM users directly. The deal also permitted users of Apple's Mac service to log in to the AIM network using their Mac email addresses. (This has carried over to Apple's MobileMe service.) , large parts of the protocol had been reverse engineered and implemented by a number of third party clients. The OSCAR protocol can be used separately from AOL's network. In fact, AOL expands on the general concept of OSCAR, adding systems for service side buddy lists and icons, as well as features for file transfers using Bonjour. On March 6, 2006, AOL released the AIM SDK and launched a developer website, allowing developers to build plugins for AIM Triton, and build their own custom clients, which connect over the OSCAR protocol. They had not, at that point, however, released any information about the protocol itself. On March 5, 2008, AOL released portions of the OSCAR protocol documentation. Google also provided the ability to sign in to AIM network via the Google Talk client built into Gmail.
Пакеттер құрылымы
OSCAR арқылы жіберілетін барлық пакеттер бірдей қалыпта капсулаланады. Желі арқылы жіберілген барлық 16 биттік бүтін сандар қолтаңбасыз және үлкен эндианды (Endianness қараңыз). Бұл 32 биттік бүтін сандар мен 8 биттік бүтін сандарға (немесе байттарға) да қатысты.
FLAP бастығы
Әрбір пакетті арнайы Frame Layer Protocol (FLAP) контейнері қоршап тұрады. Ол пакеттің мөлшері, арнасы және тізбектегі нөмірі туралы ақпаратты қамтиды. Оффсет (он алтылық) Өрістің түрі/өлшемі (байттарда) Ескертулер00FLAP ID байт/1 Әрдайым 2A болады. Бұл пакеттің басталуын көрсетеді.01Арна байт/1 1 = кіру, 2 = SNAC қабаты, 3 = қате, 4 = үзілу02Тізбектегі нөмір int16/2 Әр пакет жіберілген сайын 1-ге артады. FFFF-қа жеткен соң 0-ге қайта орналасады.04Дерек мөлшері int16/2 Мөлшер FLAP тақырыбын қамтымайды.
SNAC деректері
2-арна арқылы жіберілетін дерлік әрбір пакеттің ішінде SNAC (Жай желілік атомдық байланыс) болады. Пакетте әрқашан бір немесе ешқайсысы болмайды, сондықтан олар ұзындығын қамтымайды (және қажет емес). Оффсет (он алтылық) Өрістің түрі/өлшемі (байттарда) Ескертулер00Foodgroupint16/2Пакеттің жалпы түрі02Typeint16/2Пакеттің нақты түрі04Flagsint16/206Request IDint32/4Сұрау ID, бұл кездейсоқ болуы мүмкін, бірақ клиенттер оны ең жоғары бітпен жібере алмайды.
Қолданылу
Бағдарламалау тілінің іске асырылуы ClibpurpleGnomeICUC#NOscar C++QOscar (Qt) C# 2.0OscarLib Goretro aim serveraim oscar server JavajoscarInstant Messenger Lib daim Objective CLibOrangeOCamlmlOscar PythonTwistedWords PerlNet::OSCAR PHPWebIcqPro