Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

реализация сетевого протокола поверх 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
4-1162592489
ph0sgen
2006-11-04 01:21
2007.03.25
вопрос по BASM


2-1172841092
VadimK
2007-03-02 16:11
2007.03.25
Не пойму почему не освобождается память


2-1172838130
kester
2007-03-02 15:22
2007.03.25
DBListBox


15-1172678879
Calibr
2007-02-28 19:07
2007.03.25
WinRAR парольчик


3-1167670766
alex_dorin
2007-01-01 19:59
2007.03.25
midas -использование нескольких серверов приложений