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

Вниз

Свой клиент для IChat!   Найти похожие ветки 

 
Alek ©   (2004-08-02 16:07) [0]

Я думаю многие из вас знают чат под названием IChat
У него есть сервер и клиент.
Так вот я хочу написать свой клиент для Ичата.
Кто из вас знает как шифруются данные при передаче по сокетам.
А еще лучше если кто0нить даст линк на Протокол общения сервера и клиента ).


 
Digitman ©   (2004-08-02 16:21) [1]

http://www.echat.h11.ru/project.shtml


 
Alek ©   (2004-08-02 16:56) [2]

Дигитман спасибо за линк. Я тама протокол нашел )).

Вот только есть еще один вопрос как же все таки шифруется сама месага при передаче по сокету?

мессага от клиента к серверу:

[Длина сообщения] [0x00] [Отправитель] [0x00] [CMD] [0x00] [Получатель | "*"] [0x00] [Сообщение]

[0x00] - разделительный байт (признак конца строки)
[Длина сообщения] - длина сообщения ASCII (учитывает поля, начиная с [Отправитель])
[Отправитель] - сигнатура отправителя (192.168.13.6/NETBIOS-NAME/login)
[CMD] - команда серверу, всегда "FORWARD"
[Получатель] - сигнатура получателя (аналогично как и отправитель), либо "*"
[Сообщение] - зашифрованное тело сообщения - как его расшифровать?

от сервера клиенту:

[Длина сообщения] [0x00] [CMD] [0x00] [Сообщение]

[Длина сообщения] - длина сообщения ASCII (учитывает поля, начиная с [CMD])
[CMD] - команда клиенту, всегда "FORWARD"
[Сообщение] - зашифрованное тело сообщения

Формат тела сообщения (после расшифровки)

[~] "ichat" [~~] [Счетчик ASCII] [~~] [Отправитель] [~~] [CMD] [~~] [параметры команды]

[Счетчик ASCII] - счетчик сообщений, начиная с 1, увеличивается на 1 с
каждым сообщением
[Отправитель] - сигнатура отправителя (аналогично - см. выше)
[~~] - разделитель, два байта - 0x13 0x13
[CMD] - команда, см. ниже

Команды

Имя линии для общего чата - iTCniaM

DISCONNECT - покинуть линию (или общий чат)
[Имя линии] [~]

CONNECT - войти в линию (общий чат)
[Имя линии] [~~] [Логин] [~~] [Ник] [~~] [~~] [Away_сообщение] [~~]
[Получатель | "*"] [~~] [Версия] [~~] [Статус] [~]

CREATE_LINE - создание линии
[Имя линии] [~~] [Пароль] [~~] [Отправитель] [~]

REFRESH - обновить информацию в списке пользователей, посылается с периодичностью ок. 1 мин
[Имя линии | "*"] [~~] [Логин] [~~] [Ник] [~~] [~~] [Away_сообщение] [~~] [Получатель | "*"] [~~] [Версия] [~~] [Статус] [~]

STATUS_REQ - запрос статуса у конкретного чела
[~]

STATUS - выдать статус
[Статус] [~~] [Away_сообщение] [~]

BOARD - обновить сообщение в доске объявлений
[Номер куска] [~~] [Текст сообщения] [~]

TEXT - паблик сообщение
[Линия] [~~] [Текст] [~~] [Получатель | "*" | ""] [~]

ME - /me сообщение
[Линия] [~~] [Текст] [~~] [Получатель | "*"] [~]

TEXT - приватное сообщение, отправляет себе и получателю...
["gsMTCI"] [~~] [Текст] [~~] [Ник отправителя] [~]

RECIEVED - подтверждение о получении сообщения
["gsMTCI"] [~~] [Текст подтверждения] [~]


 
Digitman ©   (2004-08-02 17:22) [3]


> Alek ©   (02.08.04 16:56) [2]


а мне почем знать, как там чего "шифруется" ?

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

и цитировать всю эту протокольную байду здесь смысла никакого не было



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

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

Наверх





Память: 0.46 MB
Время: 0.039 c
1-1094124337
demonyator
2004-09-02 15:25
2004.09.19
Acdsee


1-1094452306
Koala
2004-09-06 10:31
2004.09.19
Кто может что нить сказать о компаненте JVCL


14-1093967818
ИМХО
2004-08-31 19:56
2004.09.19
Есть ли жизнь после смерти?


1-1093863789
Piter
2004-08-30 15:03
2004.09.19
Медленная работа TIniFile


1-1094221622
hamster
2004-09-03 18:27
2004.09.19
CRC32





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский