motofan logo
13 страниц V < 1 2 3 4 5 > »         
> 

[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 килобайт ) Кол-во скачиваний: 361
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
erafeika
сообщение 20.4.2010, 9:09


Опытный
***

Группа: Пользователи
Сообщений: 111
Регистрация: 24.5.2009
Из: Ярославль
Пользователь №: 200 067
Модель телефона: мото закончились(

Рейтинг: 16



с шестизнака на дар14.2 всё отлично
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SpyHEX
сообщение 20.4.2010, 9:16


Мастер
****

Группа: Пользователи
Сообщений: 175
Регистрация: 9.7.2007
Из: страны непуганных идиотов
Пользователь №: 140 861
Модель телефона: -=/\/\=-
Прошивка: -=]|[=-

Рейтинг: 48



E398. DAR 14.2
У меня аська не подключается. Хотя список контактов загрузила. Жмешь "Connect" подключается, подключается, выдает минуты через 3: Передано ~150кб, и потом пишет Disconnect, потом если зайти в "Contact list", то контакты там есть, но все не в сети.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Matrasa
сообщение 20.4.2010, 9:41


Опытный
***

Группа: Пользователи
Сообщений: 106
Регистрация: 22.2.2009
Пользователь №: 194 157
Модель телефона: E398
Прошивка: DAR 2.15

Рейтинг: 2.5



На дар 2.14.2 работает! Большое спасибо за чудесный эльф, наконец-то аська не тормозит! clapping.gif

ЗЫ. Красивый шрифт. smile.gif

Добавлено позже (20.4.2010, 9:45):
Кстати, невероятная стабильность. За пять часов не сглючила ни разу.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 20.4.2010, 10:21


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



G-XaD, у меня работает на EP2 r65.. вроде бы :) Если сообщение моё получил

Цитата(CarbonZyn @ Вчера, 22:18)

G-XaD, а что ты мне скажешь с моим логом sorry.gif
*


Скажет он то же самое, что в посте #11 - по логу проблема та же.

Цитата(baat @ Вчера, 22:09)

пол года мудрить интерфейс, чтобы эльф только на е398 работал?
а тут видимо на л7е вообще не грозит
*


Не ной, у тебя тоже не все эльфы у всех вот прям сразу работали с первой версии.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 20.4.2010, 10:25


Мастер
****

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

Рейтинг: 323



Я не дома. Прошу пока результаты тестирования не писать.
На L7e подобных точно не совпадает NullDialogId, при этом эльф не будет реагировать на кнопки, потом сделаю эльф для определения константы и добавлю в либу. На ревизии эльфпака ниже 61 не будет работать libuix. Не происходит инит.
Исходники не оформлены для svn, обязательно выложу, темболее, они под лицензией GPL.

Хорошая стабильность - удивительно.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mazzog
сообщение 20.4.2010, 11:18


Новичок
*

Группа: Пользователи
Сообщений: 22
Регистрация: 31.3.2010
Пользователь №: 215 695
Модель телефона: e2

Рейтинг: 0



erafeika,
значит не в 7-ми знаке дело
а в чем?
20~ контактов в одной группе если че

Добавлено позже (20.4.2010, 18:19):
SpyHEX
похоже у меня тоже самое что и у тебя
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
erafeika
сообщение 20.4.2010, 12:01


Опытный
***

Группа: Пользователи
Сообщений: 111
Регистрация: 24.5.2009
Из: Ярославль
Пользователь №: 200 067
Модель телефона: мото закончились(

Рейтинг: 16



у меня в одной группе 90 контактов другие две по 20. часа пол просидел без кирилицы в КЛ неудобно

Сообщение отредактировал erafeika - 20.4.2010, 12:02
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 20.4.2010, 13:36


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



G-XaD, smile.gif а если эльф пак перекомплю заработает?!
laugh.gif заработала, но
blind.gif не конектится yesyes.gif вот так говорит, даже не передает килобайты висит окно номер и конектинг... и 0 % в низу на этом все. корочей это кот в мешке который у большей половины людей не работает...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 20.4.2010, 13:52


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


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



Рейтинг: 1535



Andy51, я всё понимаю, но можно было сделать на стандартном гуи, чтобы протокол люди хоть потестили, а потом мудрить со своим гуи... ася бы на год раньше вышла...

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

но естественнно, лучше сделать круто и неработаспасобное, а потом костыли ещё мудрить чтобы оно так и не заработало на большенстве телефонов, чем сделать сразу простое и работающее...

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

G-XaD, для личного изучения, без права и вылаживания оных и без появления каких-то либо модов, исходники можешь дать? я лично себе сделаю, чтобы работала, у меня, не охото ждать пару лет пока появится, новый, работающий еп2...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SpyHEX
сообщение 20.4.2010, 14:52


Мастер
****

Группа: Пользователи
Сообщений: 175
Регистрация: 9.7.2007
Из: страны непуганных идиотов
Пользователь №: 140 861
Модель телефона: -=/\/\=-
Прошивка: -=]|[=-

Рейтинг: 48



Взял новый уин, в него добавил 1 контакт. Вбил уин и пасс в конфиг masya.bcfg. Нажал "Connect" и вуаля - ася подключилась smile.gif Но старый уин не хотит работать, может из-за того что там контактов много, хотя всего 66. Да и еще когда со старым уином подключался, тел зависал очень сильно.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[Masya] ICQ Client by G-XaD, Еще не вся нужная функциональность · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 19.3.2024, 3:04

Форум живёт: