Форум: "Сети";
Текущий архив: 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