Главная страница
    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.036 c
3-1093387450
3APA3A
2004-08-25 02:44
2004.09.19
Транзакции


14-1093666950
menart
2004-08-28 08:22
2004.09.19
3-й номер RSDN-MAGAZINE


1-1093831817
Kolt
2004-08-30 06:10
2004.09.19
Компоненты + Библиотека


1-1094137852
Vetal
2004-09-02 19:10
2004.09.19
Дебаггер для Дельфи с брекпойнтами на память


3-1093327638
DesWind
2004-08-24 10:07
2004.09.19
QReport





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