16

Re: Mobile (Mail.ru) Agent для Nokia N900

простите за тупой вопрос, но что такое  jabber-транспорт??? где его найти??? как мне туда маил кинуть???  и когда может появиться нормальный агент?????

Поделиться

17

Re: Mobile (Mail.ru) Agent для Nokia N900

нарколыга пишет:

простите за тупой вопрос, но что такое  jabber-транспорт??? где его найти??? как мне туда маил кинуть???  и когда может появиться нормальный агент?????

а гугл спросить?
иди на jabber.snc.ru  и читай.

Поделиться

18

Re: Mobile (Mail.ru) Agent для Nokia N900

Включил транспорт на tmnhy.su. Можете пользоваться со своих жаберр-аккаунтов, хоть с дефолтного @ovi.com

Поделиться

19

Re: Mobile (Mail.ru) Agent для Nokia N900

Описание протокола
MMP - протокол соединения Mail.Ru Агента с общей сетью Mail.Ru. Рекомендованный для соединения сервер в любой момент времени можно получить в текстовом формате ip:port по адресу mrim.mail.ru:2042 и mrim.mail.ru:443. Взаимодействие с сервером происходит поверх постоянно установленного tcp-соединения посредством асинхронного обмена командами. Инициатором установления соединения может быть только клиент, команды могут посылаться как клиентом, так и сервером.

MMP бинарный протокол. Все числовые данные передаются как четырехбайтные целые НЕ в сетевом формате, т. е. первым идет старший байт, последним младший. Четырехбайтовые беззнаковые целые обозначаются UL.

Текстовые данные передаются с префексированной длиной, т. е. сначала UL, а потом строка (в кодировке windows-1251) длины UL без завершающего нуля. Обозначение в дальнейшем - LPS.

Тип данных UIDL используется только при работе с оставленными на сервере сообщениями. UIDL - последовательность из 8 символов из множества [a-z A-Z 0-9 _ - = +].

Каждая команда или ответ на нее начинаются с заголовка. Поля указываемые в заголовке:

волшебный ключ, указывающий на то, что это действительно пакет MMP - версия MMP, поддерживаемая отправителем пакета (текущая версия - 1.7)
номер отправляемой команды в текущем соединении. Ответ на команду должен иметь тот же номер, что и сама команда.
тип пакета, номер команды и/или ответа
длинна данных пакета (без учета заголовка). При обработке посылаемых сервером данных длина пакета должна иметь приоритет перед списком его параметров, т. к. в следующих версиях протокола могут появляться новые параметры и все они будут дописываться в конец пакета.
порт и ip (в inet_aton() формате) с которых установлено соединение

В синтаксисе языка С:

Заголовок пакета
{
    u_long    magic;   
    u_long    proto;
    u_long    seq;
    u_long    msg;
    u_long    dlen;
    u_long    from;
    u_long    fromport;
    u_char    reserved[16];
}
Вам понадобится заголовочный файл на языке C. Взять его можно здесь.

Список кодов городов, населенных пунктов и районов можно взять здесь.



Последовательность команд
После установки tcp-соединения клиент обязан сразу послать MRIM_CS_HELLO, дождаться MRIM_CS_HELLO_ACK, после чего отправить MRIM_CS_LOGIN2 и начать посылать MRIM_CS_PING с установленным в MRIM_CS_HELLO_ACK интервалом. В случае успешной авторизации дальнейшие пакеты (кроме MRIM_CS_PING) должны отправляться только в случае пользовательских действий (написания новых сообщений и т. п.) или ответа на пакеты получаемые от сервера.

Типы пакетов
Тип пакета: cs - Client -> Server
Тип пакета: sc - Server -> Client

Пакеты
Пакет: Установка соединения
Имя пакета: MRIM_CS_HELLO
Ответ: MRIM_CS_HELLO_ACK
Тип пакета: cs
Описание: Первый пакет, отправляемый на сервер.

Пакет: Подтверждение установки соединения
Имя пакета: MRIM_CS_HELLO_ACK
Тип пакета: sc
Параметры:

UL ## ping_period ## Ожидаемая частота подтверждения соединения (в секундах)

Описание: Подтверждает возможность соединения и сообщает клиенту интервал, с которым надо отправлять пакеты контроля соединения.

Пакет: Успешная авторизация
Имя пакета: MRIM_CS_LOGIN_ACK
Тип пакета: sc
Описание: Сообщает, что пара логин-пароль была верна и клиент успешно авторизовался в сети агента.

Пакет: Неверная авторизация
Имя пакета: MRIM_CS_LOGIN_REJ
Тип пакета: sc
Параметры:

LPS ## reason ## причина отказа

Описание: Сообщает, что пара логин-пароль была неверна, и соединение будет завершено.

Пакет: Контроль соединения
Имя пакета: MRIM_CS_PING
Тип пакета: cs
Описание: Отправка этого пакета подтверждает для сервера, что клиент активен. Пакет должен отправляться с интервалом, определенным в MRIM_CS_HELLO_ACK.

Пакет: Сообщение
Имя пакета: MRIM_CS_MESSAGE
Тип пакета: cs
поле seq должно содержать номер, который в последствии будет содержаться в заголовке пакета MRIM_CS_MESSAGE_STATUS, оповещающем клиента о статусе доставки данного сообщения.
Параметры:

UL ## flags ## флаги ##

MESSAGE_FLAG_OFFLINE ## Сообщение пришло, пока клиент был отключен
MESSAGE_FLAG_NORECV ## Отправителю сообщения не требуется подтверждения доставки
MESSAGE_FLAG_AUTHORIZE ## Сообщение является запросом на авторизацию
MESSAGE_FLAG_SYSTEM ## Сообщение является системным уведомлением администрации
MESSAGE_FLAG_RTF ## В сообщении содержится форматированная часть
MESSAGE_FLAG_CONTACT ## Сообщение представляет из себя пересланный список контактов. Текст сообщения в этом случае должен представлять из себя список адресов и ников пересылаемых контактов, перечисленных через точку с запятой. <адрес1>;<ник1>;<адрес2>;<ник2>;<адрес3>;<ник3>;...
MESSAGE_FLAG_NOTIFY ## Это сообщение-уведомление "Вам пишут". Должно посылаться каждые 10 секунд, при более длинной паузе клиент-получатель должен считать, что отправитель прекратил написание. Текст такого сообщения должен состоять из одного пробела.
MESSAGE_FLAG_MULTICAST ## Сообщение направлено списку получателей, а не одному. Поле to в таком случае состоит из списка получателей, перечисленных через запятую. Максимальная длина списка - 50 адресов.

LPS ## to ## email получателя
LPS ## message ## текстовая версия отправляемого сообщения
LPS ## rtf-message ## отформатированная версия отправляемого сообщения, в случае наличия обоих версий сообщения приоритет имеет rtf-версия. Она должна содержать rtf-текст упакованный gzip в base64 представлении. То есть:

BASE64(
          GZIP(
              UL количество LPS (должно быть не менее 2)
              LPS rtf_text_with_all_rtf_headers_and_tags
              LPS цвет фона в виде UL
             )
         )
                   
Описание: Основной пакет взаимодействия между двумя клиентами. Может быть отправлено в любой момент по инициативе клиента. Ни текстовая, ни rtf части сообщений не могут быть пустыми, при необходимости следует использовать строку из одного пробела.

Пакет: Доставка сообщения
Имя пакета: MRIM_CS_MESSAGE_ACK
Тип пакета: sc
Параметры:

UL ## msg_id ## Номер пакета (Sequence) этого сообщения для отправителя
UL ## flags ## Возможные значения описаны в MRIM_CS_MESSAGE
LPS ## from ## Адрес отправителя
LPS ## message ## текстовая версия сообщения
LPS ## rtf-message ## форматированная версия сообщения

Описание:

Пакет: Подтверждение получения сообщения
Имя пакета: MRIM_CS_MESSAGE_RECV
Тип пакета: cs
Параметры:

LPS ## from ##
UL ## msg_id ##

Описание: Отправляется получателем сообщения сразу после прихода MRIM_CS_MESSAGE_ACK, если флаги MRIM_CS_MESSAGE_ACK не содержали MESSAGE_FLAG_NORECV. from и msg_id должны быть скопированы из MRIM_CS_MESSAGE_ACK и имеют то же значение.

Пакет: Подтверждение доставки сообщения
Имя пакета: MRIM_CS_MESSAGE_STATUS
Тип пакета: sc
Поле seq численно равно полю seq пакета MRIM_CS_MESSAGE
Параметры:

UL ## status ## статус доставки ##

MESSAGE_DELIVERED ## Сообщение успешно доставлено
MESSAGE_REJECTED_INTERR ## Произошла внутренняя ошибка
MESSAGE_REJECTED_NOUSER ## Не существует пользователя-получателя сообщения
MESSAGE_REJECTED_LIMIT_EXCEEDED ## Пользователь-получатель в данный момент отключен от сети, и сообщение не помещается в его почтовый ящик
MESSAGE_REJECTED_TOO_LARGE ## Размер сообщения превышает максимально допустимый
MESSAGE_REJECTED_DENY_OFFMSG ## Пользователь-получатель в данный момент отключен от сети, а настройки его почтового ящика не допускают наличие оффлайновых сообщений агента

Описание: Отправленное сообщение считается доставленным только после получения этого ответа сервера. Сервер НЕ ГАРАНТИРУЕТ доставку сообщения. В случае отстутствия MRIM_CS_MESSAGE_STATUS более интервала подтверждения соединения, программа клиент должна послать сообщение повторно или проинформировать пользователя о невозможности доставки из-за проблем связи получателя.

Пакет: Смена статуса другого пользователя
Имя пакета: MRIM_CS_USER_STATUS
Тип пакета: sc
Параметры:

UL ## status ## новый статус пользователя ##

STATUS_OFFLINE ## Пользователь отключен от сети Агента
STATUS_ONLINE ## Пользователь находится в сети
STATUS_AWAY ## Пользователь в сети, но отошел от компьютера
STATUS_UNDETERMINATED ## Настройки пользователя запрещают показывать его статус
STATUS_FLAG_INVISIBLE ## Пользователь находится в сети, но невидим для всех, кроме привилегированных пользователей из его списка видимости.

LPS ## user ## email сменившего свой статус пользователя
Описание: Это сообщение отправляется сервером при смене статуса пользователям всем тем, у кого он находится в контакт-листе (за исключением группы "Жду Авторизации" и тех, кого он включил в список игнорируемых или невидящих). Данное сообщение может быть доставлено клиенту ДО получения им контакт-листа. В такой ситуации оно должно игнорироваться.

Пакет: Закрытие соединения
Имя пакета: MRIM_CS_LOGOUT
Тип пакета: sc
Параметры:

UL ## reason ## причина отключения ##

LOGOUT_NO_RELOGIN_FLAG ## Пользователь отключен из-за параллельного входа с его логином. Клиент не должен осуществлять автоматический перезаход в этом случае.

Пакет: Изменение параметров соединения
Имя пакета: MRIM_CS_CONNECTION_PARAM
Тип пакета: sc
Параметры:

UL ## ping_period ## новая ожидаемая частота подтверждения соединения

Описание: Ближайший MRIM_CS_PING следует отправлять уже исходя из новой частоты.

Пакет: Добавление нового контакта
Имя пакета: MRIM_CS_ADD_CONTACT
Тип пакета: cs
Параметры:

UL ## flags ## флаги ##

CONTACT_FLAG_GROUP ## Добавляется новая группа, а не контакт (несовместим с остальными). Верхний байт содержит количество уже имеющихся групп в контакт-листе
CONTACT_FLAG_INVISIBLE ## Контакт должен попасть в список "Я всегда невидим для"
CONTACT_FLAG_VISIBLE ## Контакт должен попасть в список "Я всегда видим для"
CONTACT_FLAG_IGNORE ## Контакт должен попасть в список игнорируемых
CONTACT_FLAG_SHADOW ## Контакт не должен попасть в основной контакт-лист (применяется в паре с одним из трех предыдущих)
CONTACT_FLAG_REMOVED ## Контакт удален

UL ## group_id ## группа, в которую должен быть добавлен контакт (для CONTACT_FLAG_GROUP равно 0)
LPS ## email ## добавляемый адрес (имя группы для CONTACT_FLAG_GROUP)
LPS ## name ## ник добавляемого пользователя (для отображения в контакт-листе, не посылается для CONTACT_FLAG_GROUP) LPS ## unused ## неиспользуемый параметр

Пакет: Подтверждение добавления контакта
Имя пакета: MRIM_CS_ADD_CONTACT_ACK
Тип пакета: sc
Параметры:

UL ## status ## результат операции ##

CONTACT_OPER_SUCCESS ## добавление произведено успешно
CONTACT_OPER_ERROR ## переданные данные были некорректны
CONTACT_OPER_INTERR ## при обработке запроса произошла внутренняя ошибка
CONTACT_OPER_NO_SUCH_USER ## добавляемого пользователя не существует в системе
CONTACT_OPER_INVALID_INFO ## некорректное имя пользователя
CONTACT_OPER_USER_EXISTS ## пользователь уже есть в контакт-листе
CONTACT_OPER_GROUP_LIMIT ## превышено максимально допустимое количество групп (20)

## UL ## contact_id ## присвоенный новому контакту номер

Описание: Приходит в ответ на MRIM_CS_ADD_CONTACT. -1 если status не равен CONTACT_OPER_SUCCESS.

Пакет: Изменение контакта
Имя пакета: MRIM_CS_MODIFY_CONTACT
Тип пакета: cs
Параметры:

UL ## id ## номер модифицируемого контакта
UL ## flags ##
UL ## group_id ## Равно 0 для группы
LPS ## contact ## Если группа, то имя группы
LPS ## name ## Если группа, то имя группы

Описание: Параметры те же, что и у MRIM_CS_ADD_CONTACT. contact до и после изменения обязаны совпадать.

Пакет: Подтверждение изменения контакта
Имя пакета: MRIM_CS_MODIFY_CONTACT_ACK
Тип пакета: sc
Параметры:

UL ## status ## Результат операции. Значения имеют тот же смысл, что и в MRIM_CS_ADD_CONTACT_ACK

Пакет: Сообщение доставленное, пока пользователь не был подключен к сети
Имя пакета: MRIM_CS_OFFLINE_MESSAGE_ACK
Тип пакета: sc
Параметры:

UIDL ## uidl ## id сообщения
LPS ## message ## сообщение. Сообщение приходит в формате RFC/822 письма. Отправитель сообщения хранится в заголовке From, дата в заголовке Date, флаги сообщения в X-MRIM-FLAGS, текстовая и форматированная версии сообщения составляют текст письма и разделяются между собой разделителем из заголовка Boundary.

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

Пакет: Удаление сохраненного сообщения
Имя пакета: MRIM_CS_OFFLINE_MESSAGE_DEL
Тип пакета: cs
Параметры:

UIDL ## uidl

Описание: На каждый полученный MRIM_CS_OFFLINE_MESSAGE_ACK клиент обязан отправить MRIM_CS_OFFLINE_MESSAGE_DEL с тем же uidl, подтверждающий получение данного сообщения. Сообщение стирается на сервере только при получении этой команды.

Пакет: Авторизация пользователя на добавление в контакт-лист
Имя пакета: MRIM_CS_AUTHORIZE
Тип пакета: cs
Параметры:

LPS ## user ## email пользователя

Описание: Отправляется, чтобы разрешить user добавление пользователя в контакт-лист и наблюдение за его статусом.

Пакет: Информация об авторизации
Имя пакета: MRIM_CS_AUTHORIZE_ACK
Тип пакета: sc
Параметры:

LPS ## user ## email авторизовавшего пользователя

Описание: Отсылается сервером после получением им MRIM_CS_AUTHORIZE от user тому, кого user авторизовал.

Пакет: Изменение статуса
Имя пакета: MRIM_CS_CHANGE_STATUS
Тип пакета: cs
Параметры:

UL ## status ## возможные значения совпадают с MRIM_CS_USER_STATUS, но не могут посылаться статусы STATUS_UNDETERMINATED и STATUS_OFFLINE

Пакет: Требование ключа для web-авторизации
Имя пакета: MRIM_CS_GET_MPOP_SESSION
Тип пакета: cs
Описание: Пользователь агента может заходить в почтовый ящик Mail.Ru без дополнительной авторизации и не передавая свой пароль в GET-запросе, для этого используется механизм ключей.

Пакет: Ключ для web-авторизации
Имя пакета: MRIM_CS_GET_MPOP_SESSION_ACK
Тип пакета: sc
Параметры:

UL ## status ## успешность операции (1 - ключ получен, 0 - произошла ошибка)
LPS ## session ## сам ключ

Описание: Для входа в ящик можно использовать URL win.mail.ru/cgi-bin/auth?Login=email&agent=ключ.

Пакет: Поиск контакта
Имя пакета: MRIM_CS_WP_REQUEST
Тип пакета: cs
Параметры:

UL ## field ## параметр поиска ##

MRIM_CS_WP_REQUEST_PARAM_USER ## логин (без домена), обязан комбинироваться с доменом
MRIM_CS_WP_REQUEST_PARAM_DOMAIN ## почтовый домен
MRIM_CS_WP_REQUEST_PARAM_NICKNAME ## ник
MRIM_CS_WP_REQUEST_PARAM_FIRSTNAME ## имя
MRIM_CS_WP_REQUEST_PARAM_LASTNAME ## фамилия, * в конце ника/имени/фамилии указывает на возможность любого продолжения имени
MRIM_CS_WP_REQUEST_PARAM_SEX ## пол. 1 - мужской, 2 - женский
MRIM_CS_WP_REQUEST_PARAM_DATE1 ## минимальный возраст (в годах)
MRIM_CS_WP_REQUEST_PARAM_DATE2 ## максимальный возраст (в годах)
MRIM_CS_WP_REQUEST_PARAM_CITY_ID ## ID региона проживания
MRIM_CS_WP_REQUEST_PARAM_ZODIAC ## Знак зодиака (Овен - 1, ..., Рыбы - 12)
MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_MONTH ## Месяц рождения (Январь - 1, ..., Декабрь - 12)
MRIM_CS_WP_REQUEST_PARAM_BIRTHDAY_DAY ## День рождения (обязан комбинироваться с месяцем рождения)
MRIM_CS_WP_REQUEST_PARAM_COUNTRY_ID ## ID страны проживания
MRIM_CS_WP_REQUEST_PARAM_ONLINE ## ищем ли мы только подключенных в данный момент пользователей (1)

LPS ## value все параметры в строковом формате, включая числа

Описание: Поиск контактов в базе агента. Параметры поиска передаются парами параметр-значение. Передача нескольких параметров имеет семантику "и", т. е. все найденные результаты должны соответствовать всем переданным параметрам. Комбинироваться могут все параметры за исключением логина и домена (они обязаны идти парой и не могут комбинироваться с другими параметрами) в порядке соответствующем порядку описания (за исключением требования для MRIM_CS_WP_REQUEST_PARAM_ONLINE быть последним в списке).

Пакет: Найденные пользователи
Имя пакета: MRIM_CS_ANKETA_INFO
Тип пакета: cs
Параметры:

UL ## status ## успешность запроса ##

MRIM_ANKETA_INFO_STATUS_OK ## поиск успешно завершен
MRIM_ANKETA_INFO_STATUS_NOUSER ## не найдено ни одной подходящей записи
MRIM_ANKETA_INFO_STATUS_RATELIMERR ## слишком много запросов, поиск временно запрещен

UL ## fields_num ## количество полей в анкете каждого пользователя
UL ## max_rows ## текущее ограничение на количество результатов поиска (может быть больше, чем количество строк в данном ответе)
UL ## server_time ## текущее время на сервере (должно использоваться для вычисления возраста). Формат времени: Количество секунд с 00:00:00 1 января 1970 года.
LPS, LPS, ... ## fields ## названия полей текущей анкеты (всего fields_num штук)
LPS, LPS, ... ## values ## значения полей анкеты для каждого найденного по запросу пользователя в том же порядке, что в списке полей, по fields_num штук на каждого

Описание: Результат поиска контактов. Возвращает анкеты найденных пользователей (их адреса являются полями анкеты).

Пакет: Количество писем в почтовом ящике
Имя пакета: MRIM_CS_MAILBOX_STATUS
Тип пакета: sc
Параметры:

UL ## status ## количество непрочитанных писем

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

Пакет: Контакт-лист
Имя пакета: MRIM_CS_CONTACT_LIST2
Тип пакета: sc
Параметры:

UL ## status ## результат запроса контакт-листа

GET_CONTACTS_OK ## поиск выполнен успешно
GET_CONTACTS_ERROR ## найденный контакт-лист некорректен
GET_CONTACTS_INTERR ## произошла внутренняя ошибка

UL ## groups_number ## количество групп в контакт-листе
LPS ## group_mask ## маска-описание группы, состоит из символов 's' (LPS),'u' (UL),'z' (строка оканчивающаяся бинарным нулем, в данный момент не используется), сейчас "us" - флаги и название, при расширении описания старые поля сохранят свое расположение
LPS ## contacts_mask ## маска-описание пользователя (синтаксис такой же как и у group_mask), сейчас uussuu (флаги, группа, адрес, ник, серверные флаги, текущий статус в сети)
## groups ## группы (всего groups_number штук)
## contacts ## контакты

Описание: Контакт-лист пользователя хранится на сервере. Клиент может хранить локальную копию контакт-листа, но серверная должна иметь приоритет. Флаги контакта имеют тот же смысл, что в MRIM_CS_ADD_CONTACT, статус - тот же смысл, что в MRIM_CS_USER_STATUS. Серверный флаг в данный момент определён один - CONTACT_INTFLAG_NOT_AUTHORIZED означает, что контакт еще не авторизовал пользователя и находится в группе "Жду авторизации". Если маска контакта или группы содержит больше символов, чем необходимо, клиент должен прочитать значения этих полей и проигнорировать их.

Пакет: Информация о пользователе
Имя пакета: MRIM_CS_USER_INFO
Тип пакета: sc
Параметры:

LPS, LPS, ... ##name1, value1, name2, value2, ... ## дополнительная информация о пользователе, имя параметра, значение параметра, имя параметра, значение параметра, ... На данный момент определены MESSAGES.TOTAL - количество писем в ящике, MESSAGES.UNREAD - количество непрочитанных писем в ящике, MRIM.NICKNAME - ник пользователя

Пакет: Авторизация
Имя пакета: MRIM_CS_LOGIN2
Тип пакета: cs
Параметры:

LPS ## login ## email авторизующегося пользователя
LPS ## password ## пароль
UL ## status ## статус (см. MRIM_CS_CHANGE_STATUS)
LPS ## user_agent ## текстовое описание клиента пользователя, например "Mail.Ru Miranda Plugin v 1.0"

Пакет: Передача файлов
Имя пакета: MRIM_CS_FILE_TRANSFER
Тип пакета: cs/sc
Параметры:

LPS - кому(для отправляющиего хоста)/от кого(для принимающего хоста)
DWORD - уникальный идентификатор сессии передачи файлов
DWORD - Суммарный размер всех передаваемых файлов.
LPS - Строка, содержащая в себе три LPS-подстроки:

LPS - строка с описанием всех передаваемых файлов. Имеет следующий формат "#FILENAME#:#SIZE#;#FILENAME#:#SIZE#;", где #FILENAME# - имя каждого передаваемого файла, #SIZE# размер каждого передаваемого файла.
LPS - Строка сейчас равна 0.
LPS - строка с перечислением адреса и порта, которые открыл для передачи хост, инициировавший соединение. Имеет следующий формат: "#IP#:#PORT#;#IP#:#PORT#;", где #IP# - tcp/ip адрес передающего хоста, #PORT# - tcp/ip порт передающего хоста
Пакет: Подтверждение передачи файлов
Имя пакета: MRIM_CS_FILE_TRANSFER_ACK
Тип пакета: cs/sc
Параметры:

DWORD - статус

FILE_TRANSFER_STATUS_OK - удаленный хост согласился на прием файлов
FILE_TRANSFER_STATUS_DECLINE - удаленный хост отказался принимать файлы
FILE_TRANSFER_STATUS_ERROR - при передаче файлов произошла ошибка
FILE_TRANSFER_STATUS_INCOMPATIBLE_VERS - удаленный хост не поддерживает передачу файлов
FILE_TRANSFER_MIRROR - удаленный хост запросил "зеркальное" соединение.Отправляется в случае, если не удалось соединеиться по указанным в MRIM_CS_FILE_TRANSFER парам #IP#:#PORT#
LPS - кому(для отправляющиего хоста)/от кого(для принимающего хоста)
DWORD - уникальный идентификатор сессии передачи файлов
LPS - Строка используется в случае установки в поле статус значения FILE_TRANSFER_MIRROR и содержит строку с перечислением адреса и порта, которые открыл для передачи хост, запросивший зеркальное соединения. Имеет следующий формат: "#IP#:#PORT#;#IP#:#PORT#;", где #IP# - tcp/ip адрес передающего хоста, #PORT# - tcp/ip порт передающего хоста:
Описание: Если соединение между клиентами установлено, то общение между хостами осуществляется по следующей схеме:
Клиент (кто выполнил connect() ):посылает строку "MRA_FT_HELLO свой_логин\0" и ожидает строку «MRA_FT_HELLO логин_оппонента\0»
Сервер (к кому установлен connect() ): ожидает строку "MRA_FT_HELLO логин_оппонента\0" посылает строку «MRA_FT_HELLO свой_логин\0»
Далее, клиент посылает на каждый файл из списка запрос: "MRA_FT_GET_FILE имя_файла_без_пути\0", после этого он получает ровно столько байт, сколько было указано в размере файла в списке. Затем получатель посылает следующий запрос "MRA_FT_GET_FILE имя_файла_без_пути\0" и.т.д.
Формирование ссылок на проекты Мой Мир, Фото, Видео, Блоги
Для любого контакта вида email_name@domain.ru (где email_name –логин, а domain- почтовый домен, один из следующих: mail, inbox, list, bk, corp.mail) используются следующие форматы ссылок на проекты Мой Мир, Фото, Видео, Блоги:

Для проекта «Мой Мир»
http://r.mail.ru/cln3587/my.mail.ru/domain/email_name/
Для проекта «Фото»
http://r.mail.ru/cln3565/foto.mail.ru/d … mail_name/
Для проекта «Видео»
http://r.mail.ru/cln3567/video.mail.ru/ … mail_name/
Для проекта «Блоги»
http://r.mail.ru/cln3566/blogs.mail.ru/ … mail_name/
Загрузка фото контакта
Для любого контакта вида email_name@domain.ru (где в качестве domain используется один из следующих: mail, inbox, list, bk, corp.mail) используются следующие форматы ссылок на фото:

Малое фото:
http://obraz.foto.mail.ru/domain/email_ … vatarsmall
Большое фото:
http://obraz.foto.mail.ru/domain/email_name/_mrimavatar
Обращение происходит по одному из следующих портов: 80, 2041, 443

Первоначально выполняется запрос HEAD формата

HEAD %s HTTP/1.1 \r\nHost: %s\r\n\r\n

Если сервер возвращается ошибку 404, то фото у контакта отсутствует.

Обновление фото происходит каждые 2 часа.

Если запрос HEAD вернул время большее, чем при прошлой проверке, то следует выполнить загрузку фото.

Загрузка фото осуществляется запросом GET формата

GET %s HTTP/1.1 \r\nHost: %s\r\n\r\n

Добавлено: 10.08.2010 10:59:34

можно ли создать по этим протоколам майл агент?

Поделиться

20

Re: Mobile (Mail.ru) Agent для Nokia N900

эта инфа лежит на самом мылники я её видил.
Мне например этот месенжер не в одно места не упился

Поделиться

21

Re: Mobile (Mail.ru) Agent для Nokia N900

Пользуюсь транспортом с jabber.ru уже года полтора. проблем не наблюдал smile

Вопрос "Ё-моё, что ж я сделал?" © ? типичная постановка обратной задачи.

22

Re: Mobile (Mail.ru) Agent для Nokia N900

А ведь можно было просто дать ссылку. Кстати если верить одному_пацану-с_хабрахабра эта инфа уже давно устарела.

На форуме появляюсь редко, но N900 пользоваться не перестал, если вдруг что-то нужно пишите в jabber или eMail
Jabber: mrclon@jabnet.org

Поделиться

23

Re: Mobile (Mail.ru) Agent для Nokia N900

дайте нормальный ответ: агент будет работать на N900 или нет? wink

Поделиться

24 (13.08.2010 23:16:29 отредактировано MrClon)

Re: Mobile (Mail.ru) Agent для Nokia N900

Дай сначала машину времени или всеведение.
Почём форумчанам знать, может сейчас какой-то сумрачный сибирский гений мастерит клиент mail.ru агента под GNU/Linux, или мобильный GNU/Linux через какое-то время станет настоько популярным что mail.ru сам напишет под него клиент. А может и нет.

Так что либо забей уже на эту дрянь, либо используй jabber транспорт (упреждая твой вопрос: погугли! «Jabber транспорт mail.ru»), либо сношай мозги mail.ru и ищи сумрачного сибирского гения питающего нездоровую любовь к mail.ru, его сервисам и его пользователям (ну или к твоим деньгам).

На форуме появляюсь редко, но N900 пользоваться не перестал, если вдруг что-то нужно пишите в jabber или eMail
Jabber: mrclon@jabnet.org

Поделиться

25

Re: Mobile (Mail.ru) Agent для Nokia N900

У меня есть файл pidgin-mra.deb для Debian i Ubuntu добавляет mail.ru в pidgin может кто переделает для нашего зверька. Ссылки на ресурс нету, не помню где то нагуглил ,пробовал ставить ,пишет несовместимый пакет приложений ,а файлы могу выложить только объясните как ? Если есть желание конечно.

Поделиться

26

Re: Mobile (Mail.ru) Agent для Nokia N900

ты его откуда сли если с реп по там должен был быть и armel deb`ка

Поделиться

27

Re: Mobile (Mail.ru) Agent для Nokia N900

Нет не из реп это точно ,там ещё были tar.gz  файлы но я их незагрузил

Поделиться

28

Re: Mobile (Mail.ru) Agent для Nokia N900

это вообще какая то база сохраненная

6300->e70->n95->5800->n900->Е52->С5-03->N8->5530->C7

Поделиться

29

Re: Mobile (Mail.ru) Agent для Nokia N900

Если вы так хотите mrim под N900, то нужны добровольцы для портирования с 0.2 в 0.3 плагина mail.ru.

Поделиться

30

Re: Mobile (Mail.ru) Agent для Nokia N900

Sauron пишет:

Если вы так хотите mrim под N900, то нужны добровольцы для портирования с 0.2 в 0.3 плагина mail.ru.

а поподробней

Поделиться