motofan logo
13 страниц V « < 11 12 13        
> 

[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность

G-XaD
сообщение 18.4.2010, 20:21 Закрепленное сообщение!


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083

Рейтинг: 323



Дожал. Протокол разобрал еще в начале года, он ужасен! Только сейчас собрал все воедино и исправил парсеры пакетов от сервера. Минимум функциональности, примитив.

Файлы:
picq.so - в принципе является клиентом. В либе реализован ICQ протокол.
masya.elf - эльф, который использует протокол. По сути графическая оболочка для клиента.
libuix.so - либа, в корой реализуются диалоги. Эта либа может использоваться многими эльфами, поэтому ее лечше положить рядом с library.bin.
masya.bcfg - конфиг, создается при запуске эльфа.
/b/_icq.log - дамп общения клиента с сервером (FLAP заголовки вырезаны).


Много чего было написано для клиента:
- libuix
- picq
- one socket static lib. Теперь не нужен SynSock ;).
- BCFG file firmat. Посмотрел реализацию на SE, написал по своему. Редактор не написан.
- list_ctrl. Статическая либа управления динамическими списками. (используется почти везде). Идею взял у SE

Что умеет:
- Подключаться. (не умеет использовать безопасную md5 авторизацию)
- Читать SSI (Server Side Information). Аккуратно вырезает только список контактов.
- Получать онлайн статусы тех, кто в списке (от остальных просто не приходят)
- Принимать сообщения (Win1251 и Unicode)
- Отправлять сообщения (только Win1251)
- Выставлять статус. (не проверено).
- Какойто стандартный звук при входящих. Не отключается.

Исправлено:
- Пароль вводится не только цифрами.
- UTF8 в списке контактов (только для кирилицы), в т.ч. буквы Ё и ё.
- Добавлены иконки статуса. Кроме "Invis 4 all": этот статус в доке не описан и в миранде я не нашел.
- Если изначально выставлен статус, то при коннекте он выставляется. Если изначально стоит offline, при коннекте выбирается online. Выбор статуса off после подключения = отключение.
- Выставление статуса в доке и миранде описаны по-разному. Протокол использует реализацию миранды.
- Показывает прогресс подключения.

Особенности:
- Хранит только 16 последних сообщений от одного UIN'а. Выделяет по 2 Кб на сообщение, если от 10 пользователей по 16 сообщений запомнить, то выйдет 2*16*10 = 320 Кб, многовато памяти.
- История сообщений заполнятеся снизу вверх.
- Контакт, у которого есть чат выделен. (по умолчанию желтым).
- Эльф сворачивается красной кнопкой, запоминая стэйт (стэйты это "главное меню", "список контактов", "прогресс подключения", "сообщение об ошибке". Из чата вернется в список контактов). Возвращается из фона откуда угодно комбинацией [*-*-RED].
- Особенно не проверял, но должен выдавать ссобщения об ошибках.
- Не рекомендую сворачивать во время коннекта, у меня эльф завис.
- НЕТ XStatus, и не нужно.
- Не показывает процесс подключения (сделаю потом).
- Кнопка "Connect" работает один раз и блокируется. Чтобы отключиться выбирайте "Exit".
- Не оповещает о входящих (както не до этого было).
- Кнопка выставления своего статуса заблокирована.
- Не принимает сообщения от тех, кто не в списке. Тоесть в клиенте реализовано, но эльф не обрабатывает сообщения вообще, их хранит клиент и прикрепляет к контактам из списка.
- Нет поиска, добавления контактов в список. (Не реализовано в протоколе)
- Нет инфы контакта (не реализовано в протоколе), нет запроса и авторизации.
- Тормозит :). Один поток, что из него можно взять? ГУЙ выполняется тамже где клиент, поэтому когда сервак начинает присылать входящее сообщение ГУЙ зависает.
- Другие не могут определить клиент(это понятно) и версия протокола(я прото не знаю как она определяется :)).
- Не показывает кирилицу в списке контактов. (я не проверял какая там кодировка)
- т.к. редактора bcfg нет, то сделал редактирование UIN/pw из эльфа. Настройки сохраняются в 'masya.bcfg' в папке с эльфом.
- Задумка bcfg предполагает, что дефолтный конфиг зашит эльф. В этом эльфе прописан аккаунт, на котором я тестировал.
- Не читает офф сообщения.


Не выкладывайте файлы 'masya.bcfg' и '_icq.log'!!!
В первом настройки аккаунта в открытом виде с пояснениями где UIN, а где пароль. Во втором UIN/pw не в открытом, но простом виде.


Обновленные:
Ссылка на архив Masya.zip - Эльф и протокол к нему.
Ссылка на архив libuix.zip - Библиотека диалогов. Положить в /b/Elf2/ или в папку с эльфом.
Требуется обновление либы: архив готовых либ по данным с svn. Файл для своей прошивки распаковать и переименовать в library.bin, положить в /b/Elf2/.

Исходники доступны на svn://svn.vilko.ru/elfs2/masya


Изображение Изображение

Сообщение отредактировал om2804 - 19.6.2013, 16:00
Прикрепленный файл masya.zip   ( 477.81 килобайт ) Кол-во скачиваний: 432
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 27.6.2015, 11:41


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



WhatsUp закрытый протокол
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 16.7.2015, 1:02


Гуру
******

Группа: Разработчики
Сообщений: 728
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 557



Зарегился в аське. Создал профиль. "Сбой операции: подключение". Мася на даре работает вообще?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 18.7.2015, 2:11


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 047
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4623



Цитата(Unreal_man @ 16.7.2015, 7:02)
* Мася на даре работает вообще?

У меня работала точно. Году так в 2010-2012.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 18.7.2015, 5:52


Гуру
******

Группа: Разработчики
Сообщений: 728
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 557



Кто-то может проверить?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность · Эльфы, их разработка и портирование · Forum
 

13 страниц V « < 11 12 13
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 31.10.2024, 23:25

Форум живёт: