Difference between revisions of "VKontakte/Jabber"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(vcard)
(vcard)
Line 10: Line 10:
  
 
== Особенности ==
 
== Особенности ==
=== vcard ===
+
=== vCard ===
Пример из кода запроса vCard. отправляем
+
* Официальный лимит запросов данных 2-3 в сек (экпериментально до 50)
 
+
* Для некоторых пользователей сервер по непонятным причинам может не выдавать vCard до повторной авторизации, никак не информируя об этом соответствующим iq ответом.
<code><iq type="get" to="id4756835@vk.com" id="mir_173"><vCard xmlns="vcard-temp"/></iq></code>
+
* vCard также молча не возвращается если сервер на котором находится аватарка недоступен.
 
+
* В качестве image/jpeg вполне может прийти закодированная в base64 страничка HTML 404
приходит
+
* Двойной пробел в ответном iq
 
+
* vCard несёт в себе только:
<code?<iq[вот в этом месте два пробела]from='id4756835@vk.com' to='id4698853@vk.com/Miranda' id='mir_173' type='result'><vCard xmlns='vcard-temp'><URL>id4756835.vk.com</URL><PHOTO><TYPE>image/jpeg</TYPE><BINVAL>/9j/4AAQSkZJRgABAQAAAQABAAD</code>
+
** URL - домен_пользователя.vk.com (нерабочий)
 
+
** PHOTO - jpeg 50xN без прогрессии (либо HTML 404)
В принципе это не выходит за рамки стандарта, но можно долго искать, почему не работает парсер.
+
** UID - vk ID пользователя
  
 
=== Сообщения самому себе ===
 
=== Сообщения самому себе ===

Revision as of 11:48, 6 September 2010

Замечания по реализации Jabber на сервисе «В Контакте».

Общее

  • Отсутствие S2S не упоминаем как недостаток, потому что заявленоTemplate:Ref о планах его открыть.
  • Вопрос, зачем потребовалось реализовывать собственное серверное решение (VK XMPP) при наличии успешных проектов — ejabberd, Openfire, Prosody — остается открытым.
    После окончания тестирования мы планируем сделать открытым код самого XMPP-сервера ВКонтакте, написанного Олегом Илларионовым на node.js.

Опыт других компаний указывает на то, что готовые решения предпочтительнее - Facebook выбрал ejabberd, LiveJournal изначально использовал собственную разработку djabberd, но в последствии мигрировал на ejabberd.

  • Заявлена поддержка TLS, SASL, XEP-0030, XEP-0092, XEP-0012, XEP-0202, XEP-0199, XEP-0158, XEP-0054, XEP-0085.
  • Изначально изменение статусов в клиенте приводило к изменению статуса на вебе, но в последующем это было выключено.

Особенности

vCard

  • Официальный лимит запросов данных 2-3 в сек (экпериментально до 50)
  • Для некоторых пользователей сервер по непонятным причинам может не выдавать vCard до повторной авторизации, никак не информируя об этом соответствующим iq ответом.
  • vCard также молча не возвращается если сервер на котором находится аватарка недоступен.
  • В качестве image/jpeg вполне может прийти закодированная в base64 страничка HTML 404
  • Двойной пробел в ответном iq
  • vCard несёт в себе только:
    • URL - домен_пользователя.vk.com (нерабочий)
    • PHOTO - jpeg 50xN без прогрессии (либо HTML 404)
    • UID - vk ID пользователя

Сообщения самому себе

Запрещены.

Ошибки на уровне протокола

Ошибки в реализации серверной части

Недоработки

Примечания

  1. Template:Note ответ на вопрос