ICQ - форум. Всё про ICQ.  

Вернуться   ICQ - форум. Всё про ICQ. > Мастерская > Программирование

Программирование C / C++ / Visual C++ / Delphi / Visual Basic / ASM / Windows / Pascal

 
 
Опции темы Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.48.
Старый 28.05.2007, 06:59   #1
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию TICQClient - исправления, дополнения и прочее

В этой теме будут выкладываться исправления и дополнения к компоненту TICQClient от Кобана для Delphi.


Компонент, актуально работающий на 13.08.2010
скачать: TICQClient
Пример работы с компонентом:
скачать: СheatICQ
Официальный хелп от coban2k
скачать: TICQClientHelp.rar



==============================

Оригинальный компонент (с демо): скачать


Компонент с работающими прокси и кодировками скачать тут


Компонент от Romen'a (с демо):
- движок на ICQ
- к архиве есть все необходимые модули (для WSocket'a от ICS 1.4, плюс из RxLib несколько модулей)
- из компонента убрано все "лишнее"
скачать

Демки делались в Turbo Delphi 2006, поэтому если вы будете собирать их под Delphi 7 и ниже не забудте в насткойках проекта указать пути, иначе среда не найдет эти модули и будет ругаться на их отсутствие.



1) Project -> Options
2) Закладка Directories/Conditionals
3) -> Units output directory: Units
-> Search path: ICQClient

Последний раз редактировалось DjFly; 04.02.2012 в 20:23.
Sax-mmS вне форума  
Плюсанули Sax-mmS — 3 :
Старый 13.12.2007, 00:09   #101
Участник
 
Аватар для yxu
 
Регистрация: 17.11.2006
Сообщений: 153

ICQ: 8070080

Репутация: 302
По умолчанию

Итак, после нихитрых манипуляций со снифером, я нашел искомый снак - это 13,07.
Цитата:
SNAC(13,07) CLI_SSI_ACTIVATE
Client should send this snac after login to activate server-side contact. After this snac server start send presense notifications for you.
Для удобства вписываем в ICQClient.pas:
Код:
procedure TICQClient.SSLActivate;
var
 pkt: TRawPkt;
begin
 if not LoggedIn then Exit;
 CreateCLI_SSL_ACTIVATE(@pkt, FSeq, FSeq2);
 FSock.SendData(pkt, pkt.Len);
end;
А в ICQWorks.pas:
Код:
procedure CreateCLI_SSL_ACTIVATE(Pkt: PRawPkt; var Seq, Seq2: Word);
begin
 PktInit(Pkt, 2, Seq); 
 PktSnac(Pkt, $13, $07, 0, 0);
 PktFinal(Pkt); 
end;
Все, теперь после логина, например на событие OnLogin, вписываем нашу процедурку SSLActivate. Теперь все статусы шлются, проверено ;)

P.S. Все дружно тыкаем спасибо (хоть что-то с вас взять :)
yxu вне форума  
Плюсанул yxu :
Старый 13.12.2007, 00:21   #102
Участник
 
Регистрация: 10.12.2007
Сообщений: 2

Репутация: 1
По умолчанию

Ура! Спасибо yxu, ты всех буквально спас!
А где "спасибо" то тыкнуть можно?
MaximV вне форума  
Старый 13.12.2007, 16:58   #103
Участник
 
Регистрация: 12.12.2007
Сообщений: 6

Репутация: 2
По умолчанию

yxu, спасибо
Alex14 вне форума  
Старый 16.12.2007, 10:57   #104
Участник
 
Аватар для DOKER
 
Регистрация: 09.12.2007
Сообщений: 6

Репутация: 1
По умолчанию

yxu, Так все таки, можно ли как то узнать x-статус контакта, а так же подпись?
DOKER вне форума  
Старый 17.12.2007, 10:49   #105
Участник
 
Аватар для yxu
 
Регистрация: 17.11.2006
Сообщений: 153

ICQ: 8070080

Репутация: 302
По умолчанию

Цитата:
Сообщение от DOKER Посмотреть сообщение
yxu, Так все таки, можно ли как то узнать x-статус контакта, а так же подпись?
Вообще тебе разве не интересно самому покопать такие вопросы, берешь снифер(icqmenace) и нюхаешь любой ася клиент, собственно документация по данному вопросу есть(снак 04.* какой то). Только боюсь это уже не так просто будет ;)
yxu вне форума  
Плюсанул yxu :
Старый 17.12.2007, 18:28   #106
Участник
 
Аватар для DOKER
 
Регистрация: 09.12.2007
Сообщений: 6

Репутация: 1
По умолчанию

Цитата:
Сообщение от yxu Посмотреть сообщение
Только боюсь это уже не так просто будет ;)
Почему непросто?
DOKER вне форума  
Старый 17.12.2007, 22:48   #107
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

Вобщем проблемма еще одна... Пишу программу с использованием TICQClient от Romen. Вроде всё норм... Только очень большая проблемма: ну никак не получается законнектится. Тоесть с помощью процедуры Login. Помогите. В чём проблемма?
Modeus вне форума  
Старый 17.12.2007, 22:52   #108
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

Эта демо тоже не работает?
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Старый 18.12.2007, 18:18   #109
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

В том то и дело, что работает, но я использую icqcomponentTWSocket

Добавлено через 59 минут
Реально. Этот демо у меня не установился. Я использую тот, что идёт в комплекте с OSCARRegger. Но несмотря на всё это всё равно не могу залогинится!!!

Последний раз редактировалось Modeus; 18.12.2007 в 19:17. Причина: Добавлено сообщение
Modeus вне форума  
Старый 18.12.2007, 20:22   #110
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

Это демо написано на Ics компоненте, который лежит в папке в этом же архиве. Я ним нельзя использовать другой компонент.
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Старый 18.12.2007, 20:45   #111
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

Не получилось установить компонент из архива. Использую тот что идёт с ОскарРеггер, но ничего не получается... У меня щас 2 проекта, Sax-mmS, пожалуйста, помоги мне...
Modeus вне форума  
Старый 18.12.2007, 22:05   #112
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

А не надо устанавливать компонент из архива.
Удали все устануовленные TICQClient, очисти все пути.
Открой демо и скомпиль его.
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Старый 18.12.2007, 22:30   #113
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

Начал компилить. Ничего не получилось. Сразу выбивает много ошыбок. При выходе не сохраняет изминения в пакете компонентов...

Последний раз редактировалось Modeus; 18.12.2007 в 22:38.
Modeus вне форума  
Старый 19.12.2007, 02:08   #114
Участник
 
Аватар для SnakeV1.0
 
Регистрация: 24.08.2007
Сообщений: 32

Репутация: 3
По умолчанию

А что за ошибки?
Часто бывают ошибки когда компилятор не может найти файл... поробуй в винодвсе в переменную path добавить путь к компонете...
SnakeV1.0 вне форума  
Старый 19.12.2007, 10:36   #115
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

Modeus, Удали все установленные TICQClient, очисти все пути.
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Старый 19.12.2007, 16:22   #116
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

Sax-mmS, спасибо. Сделал. Работает. Но что б откомпилить, мне пришлось отключить модуль Direct2. Также: как мне послать запрос на создание уина? К этому времени использовал функцию
SendCreateAccountRequest
теперь её нету.
OnChallengeResponse и SendChallengeRequest тоже не работают...
Modeus вне форума  
Старый 19.12.2007, 19:37   #117
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

Никак. Компонент в OSACR regger специально доработан для регистрации и не совместим с движком ICS. Выбери что-то одно. Или допиши компонент на ICS для регистрации, не так уж и сложно.
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Старый 19.12.2007, 20:44   #118
Участник
 
Регистрация: 16.12.2007
Сообщений: 7

Репутация: 1
По умолчанию

Хорошо, спасибо. Проблемма решена. Попробую подучить немного протокол Icq. Всем сенкс!
Modeus вне форума  
Старый 24.12.2007, 16:01   #119
Участник
 
Регистрация: 29.11.2007
Сообщений: 1

Репутация: 1
По умолчанию

Всем здрасти, использую TICQClient версии 1.24 (от OkeyUA), кой чего своего добавил, было все окей до того времени, как в одночасье перестали срабатывать сообытия OnStatusChange и OnOnlineInfo. Снифер показывает, что эти пакеты просто не приходят от сервера. Кто знает в чем дело, помогите.
R_Spirit вне форума  
Старый 24.12.2007, 19:07   #120
Участник
 
Аватар для yxu
 
Регистрация: 17.11.2006
Сообщений: 153

ICQ: 8070080

Репутация: 302
По умолчанию

R_Spirit, ты наркоман чтоли , уже листа два обсуждений как где и почему это произошло и на этом(!) листе, 2 пост сверху решение проблемы. Ё-маё перед тем как спрашивать может научимся юзать хотя бы элементарный поиск и протрем глаза.
yxu вне форума  
Плюсанул yxu :
Старый 01.01.2008, 23:44   #121
Участник
 
Регистрация: 28.12.2007
Сообщений: 1

Репутация: 1
По умолчанию

За что отвечает свойство ProxyResolve? В каких ситуациях исользуется?
DmT_021 вне форума  
Старый 02.01.2008, 00:16   #122
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

Репутация: 406
По умолчанию

ProxyResolve отвечает за резолв хоста. Это когда не знаешь в каком формате будет задан адрес (именем или IP-адресом). А вообще можно и с сорцы глянуть.
__________________
Мой блог - Mac, Qt и немного Delphi.
Sax-mmS вне форума  
Плюсанул Sax-mmS :
Старый 04.01.2008, 19:39   #123
Участник
 
Регистрация: 28.11.2007
Сообщений: 5

Репутация: 1
По умолчанию

Может кто подскажет, каким образом можно реализовать что-то на подобии ping как сделано в QIP (через каждую секунду посылает ping).
Просто проблема в следующем: когда разрывается связь с провайдером (допустим на 5 сек) меняется внешний IP и программа может долго висеть думая что она в сети. При этом не срабатывает ни одно из событий о дисконнекте.

Заранее благодарен.
nDaDe вне форума  
Старый 04.01.2008, 22:13   #124
Участник
 
Регистрация: 27.09.2006
Сообщений: 1,045

ICQ: 272768

Репутация: 2856
Отправить сообщение для .fry с помощью Skype™ Bimoid
По умолчанию

.....
Дамп пакета:
Цитата:
2A 05 ** ** 00 04 00 00 00 3C
2A - ID (Символ *)
05 - Chanel (Уровень протокола)
** ** - Packet ID (Индефикатор пакета)
04 - Length (Длинна)

00 00 00 3C - Unknown (не известные байты)..

Добавлено через 9 минут
Шлется каждую минуту..
__________________
Хочешь знать как работает ICQ? Читай документацию по протоколу в OSCAR.

Последний раз редактировалось .fry; 04.11.2008 в 23:57. Причина: Добавлено сообщение
.fry вне форума  
Плюсанул .fry :
Старый 05.01.2008, 13:39   #125
Участник
 
Аватар для yxu
 
Регистрация: 17.11.2006
Сообщений: 153

ICQ: 8070080

Репутация: 302
По умолчанию

И еще, т.к. вопрос в теме про TICQClient, можно добавить, что в компаненте за пинг отвечает процедурка SendKeepAlive. Вешай ее на таймер и пингуй сколько влезет.
yxu вне форума  
Плюсанул yxu :
 

Метки
delphi, ticqclient

Опции темы
Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 12:15.


Перевод: zCarot
Форум Асечников © Asechka.RU

Новости Сочи