Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

реализация сетевого протокола поверх tcp соединения   Найти похожие ветки 

 
Zorro666   (2006-10-10 14:35) [0]

Добрый день!

Есть описание протокола обмена пакетами с сервером, поверх tcp соединения
какой объект использовать для этого?
ttcpclient или tidtcpclient (indy)?
какой командой отправлять заголовок и содержимое пакета?
Вот описание самого протокола:http://agent.mail.ru/protocol.html?Submit=%D0%9F%D1%80%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D1%8E+%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5
Структура заголовка на С++
{
   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];
}
Содержание пакета:
Пакет: Сообщение

Имя пакета: 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
    )
   )

Куда это всё пихать и как это в делфи будет выглядеть
или хотя бы такой пакет:
Пакет: Установка соединения

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

С уважением,
Р.Р.


 
Dmitrij_K   (2006-10-10 14:41) [1]


> какой объект использовать для этого?

Любой TCP, какой больше нравится.

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

может для начала попробуешь сделать что-то попроще?


 
Zorro666   (2006-10-10 20:33) [2]

мне надо именно это - отправлять заголовок и содержимое
может есть ссылка на какой-то исходник
те, что в инете нашел только обмен текстом, строк и т.д. - нет структурных пакетов :(


 
Ketmar ©   (2006-10-10 20:38) [3]

>[2] Zorro666 10-Oct-2006, 20:33
>мне надо именно это
тебе надо -- ты и делай. мы-то тут при чём? или за тебя весь код писать? вопросы принято задавать так: "я делаю то-то и то-то (вот код), получается это и это (вот описание ошибки). не подскажете, в чём может быть проблема и куда копать?" так что напиши сначала.


 
Орион ©   (2006-10-10 20:52) [4]

> [2] Zorro666   (10.10.06 20:33)
> те, что в инете нашел только обмен текстом, строк и т.д. - нет структурных пакетов :(

Значит плохо искал.


 
han_malign ©   (2006-10-11 10:44) [5]


> те, что в инете нашел только обмен текстом, строк и т.д. - нет структурных пакетов

- а что - текст и строки - структурными пакетами не являются?

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

- как ни странно, одной и той же, и желательно в одном пакете...

Учи матчасть...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.061 c
2-1172684265
Zloy
2007-02-28 20:37
2007.03.25
Настройка руссификации в базе данных


15-1173032855
Nij/-\
2007-03-04 21:27
2007.03.25
Ipod nano


3-1167148645
V-A-V
2006-12-26 18:57
2007.03.25
Можно ли восстановить базу?


15-1172657664
Dush
2007-02-28 13:14
2007.03.25
книги .Net


15-1172951913
eXPell
2007-03-03 22:58
2007.03.25
Где-то ошибка...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский