Editing VKontakte/Jabber
From JaWiki (Jabber/XMPP wiki)
Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.
The administrator who locked it offered this explanation: MediaWiki upgrading
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3: | Line 3: | ||
== Общее == | == Общее == | ||
* Отсутствие zlib сжатия. | * Отсутствие zlib сжатия. | ||
− | * Отсутствие [[S2S]] не упоминаем как недостаток, потому что заявлено | + | * Отсутствие [[S2S]] не упоминаем как недостаток, потому что заявлено{{ref|url1}} о планах его открыть. |
− | * Вопрос, зачем потребовалось реализовывать собственное серверное решение (VK XMPP) при наличии успешных проектов — [[ejabberd]], [[Openfire]], [[Prosody]] — остается открытым. {{цитата|После окончания тестирования мы планируем сделать открытым код самого XMPP-сервера ВКонтакте, написанного [http://vkontakte.ru/illarionov Олегом Илларионовым] на | + | * Вопрос, зачем потребовалось реализовывать собственное серверное решение (VK XMPP) при наличии успешных проектов — [[ejabberd]], [[Openfire]], [[Prosody]] — остается открытым. {{цитата|После окончания тестирования мы планируем сделать открытым код самого XMPP-сервера ВКонтакте, написанного [http://vkontakte.ru/illarionov Олегом Илларионовым] на {{w|node.js}}.|2=[http://vk.com/pages.php?id=27987544 vk.com/pages.php?id=27987544]}} |
Опыт других компаний указывает на то, что готовые решения предпочтительнее - [[Facebook]] выбрал [[ejabberd]], [[LiveJournal]] изначально использовал собственную разработку [[djabberd]], но в последствии мигрировал на [[ejabberd]]. | Опыт других компаний указывает на то, что готовые решения предпочтительнее - [[Facebook]] выбрал [[ejabberd]], [[LiveJournal]] изначально использовал собственную разработку [[djabberd]], но в последствии мигрировал на [[ejabberd]]. | ||
* Заявлена поддержка TLS, SASL, XEP-0030, XEP-0092, XEP-0012, XEP-0202, XEP-0199, XEP-0158, XEP-0054, XEP-0085. | * Заявлена поддержка TLS, SASL, XEP-0030, XEP-0092, XEP-0012, XEP-0202, XEP-0199, XEP-0158, XEP-0054, XEP-0085. | ||
* Изначально изменение статусов в клиенте приводило к изменению статуса на сайте, но в последующем это было изменено. Теперь статус для установки на сайте должен начинаться с точки. | * Изначально изменение статусов в клиенте приводило к изменению статуса на сайте, но в последующем это было изменено. Теперь статус для установки на сайте должен начинаться с точки. | ||
* VK XMPP является прослойкой между VK API и XMPP клиентом. | * VK XMPP является прослойкой между VK API и XMPP клиентом. | ||
− | ** Общение напрямую с | + | ** Общение напрямую с API несколько быстрее и информативнее, особенно в случае ошибок выполнения запросов. |
** Весь HTTP трафик запросов остаётся на стороне сервера, что позволяет экономить пользовательский трафик. | ** Весь HTTP трафик запросов остаётся на стороне сервера, что позволяет экономить пользовательский трафик. | ||
== Особенности == | == Особенности == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== vCard === | === vCard === | ||
− | * Официальный лимит запросов данных | + | * Официальный лимит запросов данных 2-3 в сек (экпериментально до 50) |
* Для некоторых пользователей сервер по непонятным причинам может не выдавать vCard до повторной авторизации, никак не информируя об этом соответствующим iq ответом. | * Для некоторых пользователей сервер по непонятным причинам может не выдавать vCard до повторной авторизации, никак не информируя об этом соответствующим iq ответом. | ||
* vCard также молча не возвращается если сервер на котором находится аватарка недоступен. | * vCard также молча не возвращается если сервер на котором находится аватарка недоступен. | ||
− | * В качестве image/jpeg может прийти закодированная в base64 страничка HTML 404 | + | * В качестве image/jpeg вполне может прийти закодированная в base64 страничка HTML 404 |
* Двойной пробел в ответном iq | * Двойной пробел в ответном iq | ||
* vCard несёт в себе только: | * vCard несёт в себе только: | ||
Line 30: | Line 23: | ||
** PHOTO - jpeg 50xN без прогрессии (либо HTML 404) | ** PHOTO - jpeg 50xN без прогрессии (либо HTML 404) | ||
** UID - vk ID пользователя | ** UID - vk ID пользователя | ||
− | |||
=== Сообщения === | === Сообщения === | ||
− | |||
* Сообщения самому себе запрещены. | * Сообщения самому себе запрещены. | ||
* Невозможно отправить "0" | * Невозможно отправить "0" | ||
* Невозможно отправить один и тот же текст подряд повторно (даже разным пользователям) | * Невозможно отправить один и тот же текст подряд повторно (даже разным пользователям) | ||
− | |||
== Ошибки на уровне протокола == | == Ошибки на уровне протокола == | ||
− | * presence/x хэш по | + | * presence/x хэш по отличности которого нужно определять необходимость загрузки новой аватарки может содержать имя jpeg файла (вместо SHA1 хэша) |
* Нет прямых iq запросов (невозможно узнать информацию о клиенте собеседника) | * Нет прямых iq запросов (невозможно узнать информацию о клиенте собеседника) | ||
− | * XEP-0085 используется лишь для отметки сообщений как прочитанных (на сайте), в полной же мере (информирование о наборе текста) расширение не поддерживается. | + | * XEP-0085 используется лишь для отметки сообщений как прочитанных (на сайте), в полной же мере (информирование о наборе текста) расширение не поддерживается. |
− | + | * Содержат HTML спец. символы, а также HTML тэг <br>, причём тэг и сами спец. символы также кодируется спец. символами (&amp;lt;br&amp;gt;) | |
− | + | ||
== Ошибки в реализации серверной части == | == Ошибки в реализации серверной части == | ||
Line 51: | Line 40: | ||
== Примечания == | == Примечания == | ||
− | + | # {{note|url1}} [http://twitter.com/vkontakte/status/18439413874 ответ] на [http://twitter.com/vladon/status/18438708179 вопрос] | |
− | + |