17 июля 2007 г.

Почему XMPP? Часть 2. Сберегая ресурсы.

Я продолжаю перевод цикла статей "Почему XMPP?", написанных Aaron Toponece.

Почему XMPP? Часть 2. Сберегая ресурсы.

Я пытаюсь давать своим постам названия поинтереснее. Боюсь, у меня не всегда это получается.

В моем предыдущем посте, посвященном XMPP, я говорил о приоритетах, функции №1, которая интересует меня в Jabber-клиенте. Если я не могу изменить значение приоритета на то, которое мне необходимо, то такой клиент мне неинтересен. Хоть приоритеты рулят и педалят, но они бессмысленны без другой функции Jabber - ресурсов.

Как я уже говорил раньше, спецификации XMPP поддерживают множественное подключение. Однако, когда мы подключаемся к нашему аккаунту больше одного раза, серверу необходим способ различия соединений. Для этих целей и существуют ресурсы. Некоторые провайдеры автоматически выставляют уникальные ресурсы. Однако, хоть это и является удачным решением, мне больше нравится устанавливать ресурс собственноручно. Итак, я хочу изменить ресурс, но почему?

Вне зависимости от клиента процесс прост. При создании нового аккаунта или изменения существующего, в окне обычно есть поле, которое называется "Ресурс". Заполните его таким образом, чтобы значение соответствовало вашим нуждам. Выше я писал, что серверу необходимо различать между собой ваши подключения, поэтому ресурсы должны быть уникальными (прим. пер.: в рамках вашего аккаунта, конечно же - в клиенте у некоего дяди Васи может стоять такой же ресурс как и у вас, и никому это не навредит). Если вы попытаетесь подключить клиент, и у вас это не удастся - проверьте ресурс. Скорее всего, соединение с таким же ресурсом уже установлено.

Большинство клиентов автоматически заполняют это поле. Для Gajim умолчательное значение - 'Gajim', для CenterICQ - 'centericq', для Bitlbee (несложно догадаться) - 'bitlbee'. Я уже писал, что предпочитаю указывать тот ресурс, который подходит ситуации. Посмотрите на приведенный ниже скриншот Gajim:

Gajim

Как я уже говорил, некоторые сервера устанавливают ваш ресурс сами, не давая вам его изменить, или вам кажется, что ресурс устанавливаете вы, а сервер генерирует случайный набор символов, именуемый хэшем, и добавляет его после вашего ресурса. Например, разработчики Google Talk использовали этот прием для того, чтобы ресурс пользователя был уникальным при каждом подключении независимо от того, какой ресурс задал пользователь. Причина такого решения в том, что пользователь может не разбираться в ресурсах и приоритетах, поэтому он оставит в поле "ресурс" умолчательное значение, заданное клиентом. Однако пользователям, которые знают, что они делают, это может мешать. Например, мне нужна возможность изменять мои ресурс и приоритет так, как я этого хочу, поэтому я не использую Jabber на Gmail.com.

Зачем менять ресурс? В чем "фишка"? Ну, с одной стороны нам нужны уникальные названия для каждого соединения. С другой стороны, использование ресурса может помочь вам в информировании пользователей в вашем ростере (прим. пер. для пользователей ICQ: контакт-лист Jabber'а называется roster) о вашем текущем местоположении, например 'Home', 'Work', 'School', о вашей текущей операционной системе, например 'Mac' или 'Linux', или о сервере, на котором установлен клиент, например 'hercules' или 'athena'. Всегда может возникнуть новый повод обозначить свой ресурс. Почему нужна возможность изменять его? Потому что она у вас есть.

В сочетании с приоритетами, эта функция может стать прекрасной причиной перейти с вашего старого проприетарного IM-протокола на Jabber. XMPP дает вам бóльшую гибкость, необходимую для постоянного присутствия в сети, нежели использование бестолкового клиента в сочетании с бестолковой же службой в надежде на лучшее. Как я недавно узнал, AIM поддерживает множественные подключения, но когда кто-то шлет вам сообщение, оно приходит на все подключенные клиенты. По-моему, это нерационально. Тем более, что XMPP/Jabber справляется с подобной ситуацией столь элегантно.

Мы только что достигли вершины айсберга. Существует еще много причин перейти на Jabber, чем вы можете предположить, и я собираюсь рассказать обо всех, в надежде, что вы увидите причину перейти на лучший IM протокол в мире.

© Aaron Toponce, 'Why XMPP Part 2- Saving Your Resources', немного вольный перевод: vonderer.

4 комментария:

passshok комментирует...

Полезно почитать и систематизировать то, что уже знаешь :) Интересно почитать следующие части.

Анонимный комментирует...

"AIM поддерживает множественные подключения, но когда кто-то шлет вам сообщение, оно приходит на все подключенные клиенты. По-моему, это нерационально. Тем более, что XMPP/Jabber справляется с подобной ситуацией столь элегантно."

А мне как раз удобнее было бы чтобы на все клиенты приходило. В джаббере можно так сделать?

Тарас комментирует...

можно, но зачем?

Анонимный комментирует...

можно: надо выставить везде одинаковые приоритеты.

Отправить комментарий