Форум: "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