Меню Закрыть

Mrim mail ru что это

Содержание

Статьи по этой теме на других вики-сайтах:
Mail.Ru Агент — Википедия

Mail.ru Агент — это собственный IM-сервис компании Mail.ru.

В качестве учетной записи используется почтовый аккаунт на сервере mail.ru.

Contents

Возможности [ edit ]

  • Общение текстовыми сообщениями, голосовой и видеочат.
  • Обмен файлами, ссылками и контактами.
  • Игры: морской бой, шашки и шахматы.
  • Уведомления о новых письмах.
  • Отправка SMS.

В offline отправлять сообщения нельзя (если отключена соответствующая функция в настройках принимающего аккаунта).

Особенности [ edit ]

Один и тот же псевдоним на разных доменах Mail.ru (mail.ru, inbox.ru, bk.ru, list.ru) принадлежит разным учетным записям, т.е. алиасами они не являются.

Подключение к сервису больше чем с одного ресурса запрещено (т.е. нельзя запустить клиент на двух компьютерах) и каждое последующее соединение приводит к разрыву соединения у предыдущего.

Заполнение профиля пользователя (загрузка аватары) приводит к автоматической регистрации в сервисе «Мой Мир @ Mail.Ru».

Детали подключения [ edit ]

  • Хост: mrim.mail.ru
  • Удаленный порт(ы): 2041-2044/tcp
  • Для уведомлений о почте: 110/tcp

Протокол [ edit ]

  • Описание протокола: MMP (бинарный)
  • Лицензия на использование: собственная

Взаимодействие с Jabber [ edit ]

  • Пользователей Jabber с пользователями Mail.ru Агента

транспорт в Mail.Ru Агент.

  • Пользователей Mail.ru с пользователями Jabber

сервис HabaHaba

Сторонние клиенты [ edit ]

Помимо официального клиента существуют сторонние клиенты, которые разрабатывают добровольцы. Поддержка этого протокола присутствует в Miranda, QIP Infium и qutIM. О поддержке также заявлено в IMadering. Для Pidgin надо дополнительно устанавливать плагин.

Из мультипротокольных клиентов для мобильных устройств поддержка протокола реализована в mChat.

Работа в других ОС [ edit ]

Официальных клиентов для GNU Linux или Mac OS нет, однако поддержка Агента есть в многопротокольном мессенджере qutIM, а также других клиентах, перечисленных в категории Клиенты с поддержкой Mail.Ru Агент.

Читайте также:  Игра в плей маркете не поддерживается

Кроме того, можно воспользоваться веб-клиентом, работающим прямо в браузере.

Немного теории

На первый взгляд в написании сетевого клиента нет ничего сложного, но в сетевом программировании есть множество «подводных камней». Без понимания деталей работы TCP/IP практически невозможно написать эффективное и стабильное приложение.

Целостность передаваемых данных

Как известно TCP – потоковый протокол, и хотя данные передаются в IP-пакетах, размер пакета напрямую не связан с количеством данных переданных TCP. Поэтому нельзя с уверенностью сказать что при вызове recv мы получим заданное количество байт.
Для получения данных заданной длинны я использую такую функцию,

которая в случае успеха возвращает количество принятых/переданных байт равных len, 0 в случае, если соединение было разорвано либо закрыто и (минус) номер ошибки, в случае неудачи вызова функции send/recv.

Сбои в сети

Так же необходимо помнить о том, что TCP не выполняет опрос соединения. В случае с блокирующими сокетами при крахе сервера (разрыва соединения, сбоя) ждать ответа мы будем «вечно», программа попросту «зависнет».
Одним из способов определения разрыва соединения является – таймер контроля работоспособности (keep-alive).

В нашем случае, если соединение будет не активно в течении 5 секунд, будет послано служебное сообщение, если на него не будет ответа, соединение закроется.

О протоколе

MMP бинарный асинхронный протокол. Бинарный означает, что данные передаются в виде пакетов определенной структуры:

Асинхронность здесь характеризуется тем, что сервер поддерживая постоянное соединение с различными интервалами времени шлет клиенту пакеты данных, получив которые клиент может (а в некоторых случаях должен) отреагировать и отправить серверу ответ.

Инициализирует соединение клиент, перед этим необходимо получить адрес «свободного» MMP сервера в текстовом формате ip:port, просто подключившись по адресу mrim.mail.ru. Официальный клиент версии 5.9 для подключения использует следующие порты: 2024, 80, 5190, 1863, 25, 110, 443.
Как сказано в официальной документации, после подключения по рекомендуемому адресу клиент должен послать пакет MRIM_CS_HELLO, дождаться MRIM_CS_HELLO_ACK, после чего отправить пакет авторизации, тут то и начинается самое интересное.

Читайте также:  Mi box model mdz 16 ab
На самом деле

Начиная с версии 1.22 (Mail.ru агент 5.7) изменился метод авторизации. Теперь для авторизации необходимо послать пакет 0x1078 (MRIM_CS_LOGIN3) с параметрами

LPS ## login ## email авторизующегося пользователя
LPS ## md5 password ## пароль зашифрованный в md5
FFFFFFFF
и 1391 байт идентифицирующих клиента Mail.ru

На данный момент (версия протокола 1.24) протокол поддерживает обязательное шифрование. После получения пакета MRIM_CS_HELLO_ACK клиент посылает пакет 0x1086 и получает ответ 0x1087, после чего идет инициализация SSL соединения.
Но пока нам никто не запрещает использовать более ранние версии протокола.

Важной особенностью работы клиента является то, что свои запросы клиент может посылать только после получения от сервера пакета MRIM_CS_CONTACT_LIST2, который в свою очередь посылается после успешной авторизации.

Проекты

Весь код MMP клиента занял бы много места, поэтому я предлагаю Вам скачать и изучить его самостоятельно. В архиве MMPclient_sample.25.04.2011.rar, находятся исходники на языке Си и проект Visual Studio.
UPD: исходник на github

Для изучения протокола был написан небольшой SOCKS 5 сервер. Он позволяет в удобном виде отследить цепочку сообщений клиента и сервера. Исходники сервера и проект можете скачать здесь.

Транспорты Mail.ru Agent нужны для связи пользователей Jabber с пользователями Mail.ru без применения официального клиента.

В отличие от ICQ, в Mail.ru IM нет ограничения на количество соединений с одного адреса, поэтому можно выбирать абсолютно любой транспорт. Но не стоит забывать, что существует ограничение на отправку SMS сообщений с одного адреса, поэтому, если Вам важны SMS-ки, то выбирайте наименее популярный транспорт.

Список общедоступных транспортов Mail.ru Instant Messaging (Mail.ru Agent):

  • mrim.sudouser.ru
  • mrim.xmpp.ws
  • mrim.jabbercity.ru
  • mrim.team-sc.ru
  • mrim.jabber.org.by
Публичность приведенных ниже транспортов требует проверки:
Читайте также:  Терминальный доступ на linux
mrim.ainmarh.com mrim.almss.net mrim.bagrincev.ru
mrim.blshadow.org.ru mrim.dimelord.net mrim.dstar.net.ru
mrim.jabber.kirovnet.ru mrim.jabber.snc.ru mrim.jabbim.org
mrim.jid.su mrim.kukarachas.com mrim.liveim.org
mrim.myfreenet.ru mrim.podolsknet.ru mrim.razve.net
mrim.sakhalin.name mrim.shevaldin.ru mrim.silper.cz
mrim.sss.chaoslab.ru mrim-t.x-demon.org mrim.xmpp.infots.kz
mrim.wmd.su

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.