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

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

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

 
 
Опции темы Оценить тему
Старый 25.06.2010, 16:18   #1
Участник
 
Регистрация: 11.05.2010
Сообщений: 7

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

Проблема с хстатусами
Использую 1.35a от Царя

Раньше всё время работало так:
ICQ.SetNewXStatus(X_INTERNET,' В инете');

И всё было ок.. Но почему то недавно хстатус вообще не ставится...
Почитал тему на asechka.ru, сделал так:
ICQ.SetNewXStatusByICQMoodNum( 22,'В инете');
ICQ.XStatus:=22;

БаянICQ статус видит и текст статуса тоже.. А QIP только иконку статуса...

Как теперь ПРАВИЛЬНО ставить статус, чтобы все клиенты норм видели?

ПС: сильно не пинайте, в протоколе почти ноль... желательно рабочий примерчик
read_only вне форума  
Плюсанул read_only :
Старый 28.06.2010, 00:31   #2
Участник
 
Аватар для kaleostra
 
Регистрация: 09.01.2005
Сообщений: 525

ICQ: 577388

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

тоже интересно
__________________
ботов уже нету :))
kaleostra вне форума  
Плюсанул kaleostra :
Старый 28.06.2010, 08:39   #3
Почти участник
 
Регистрация: 02.02.2008
Сообщений: 1,843

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

А сниффером QIP посмотреть, не? =)
// Я в QOscar'e пока еще до X-Status'ов не добрался - константы все уже объявил, но установку еще не сделал
RankoR вне форума  
Старый 28.06.2010, 14:01   #4
Участник
 
Регистрация: 11.05.2010
Сообщений: 7

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

Цитата:
Сообщение от RankoR Посмотреть сообщение
А сниффером QIP посмотреть, не? =)
мне не, я протокол не знаю :)

хеелп))
read_only вне форума  
Старый 28.06.2010, 18:43   #5
Почти участник
 
Регистрация: 02.02.2008
Сообщений: 1,843

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

В таком случае призываем в топик фрая! =)
RankoR вне форума  
Плюсанули RankoR — 3 :
Старый 29.06.2010, 21:17   #6
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

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

kaleostra, я же тебе вроде объяснял. Клиент поддерживают либо новый, либо старый способ определения доп.статусов. А выставить сразу обоими методами, по-моему, не получится, хотя я могу ошибаться.
Sax-mmS вне форума  
Плюсанули Sax-mmS — 3 :
Старый 29.06.2010, 22:49   #7
Участник
 
Регистрация: 05.08.2008
Сообщений: 218

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

Sax-mmS, у Rapid-а получилось вроде это в последнем релизе крыски 1110. Картинки получаются одним способом, а фразы другим. С установкой то же самое. И тогда все оке или около того.
NemeZz вне форума  
Плюсанул NemeZz :
Старый 04.07.2010, 19:06   #8
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

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

Ну тогда ICQMenace в руки и вперед ))
Sax-mmS вне форума  
Плюсанул Sax-mmS :
Старый 06.07.2010, 20:04   #9
Участник
 
Регистрация: 06.07.2010
Сообщений: 7

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

Никто не подкинет примерчик как получать статусы, про загрузке КЛ? Заранее спасибо.
lTzXl вне форума  
Старый 03.08.2010, 14:10   #10
Участник
 
Регистрация: 25.08.2009
Сообщений: 62

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

О,значит не у одного меня х статус не устанавливается))
DJ_pavel вне форума  
Старый 22.08.2010, 22:16   #11
Участник
 
Регистрация: 13.08.2010
Сообщений: 3

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

DJ_pavel ни у одного у тебя перестали работать статусы. Вообще некоторые старые jimm сборки перестали менять статус или через раз, что странно.

Провел снифф qip 2005 (8096) анализ показал, что работает он на протоколе ICQv7 и вроде как все нормально по сей день.

В следующем примере я ставил статус college с сообщением заголовка 666???999

QIP 2005

Код:
Ethernet II
	Destination MAC: 00:1A:E2:25:46:3C
	Source MAC: 00:26:22:6A:3B:31
	Ethertype: 0x8864 (34916) - PPPoE Session
PPPoE
	Version: 0x01 (1)
	Type: 0x01 (1)
	Code: 0x00 (0) - Session
	Session id: 0xD2CD (53965)
	Length: 0x00B1 (177)
	PPP protocol ID: 0x0021 (33) - IPv4
IP
	IP version: 0x04 (4)
	Header length: 0x05 (5) - 20 bytes
	Differentiated Services Field: 0x00 (0)
		Differentiated Services Code Point: 000000 - Default
		ECN-ECT: 0
		ECN-CE: 0
	Total length: 0x00AF (175)
	ID: 0x0CB8 (3256)
	Flags
		Don't fragment bit: 1 - Don't fragment
		More fragments bit: 0 - Last fragment
	Fragment offset: 0x0000 (0)
	Time to live: 0x80 (128)
	Protocol: 0x06 (6) - TCP
	Checksum: 0x63F5 (25589) - correct
	Source IP: 95.158.207.21
	Destination IP: 64.12.26.220
	IP Options: None
TCP
	Source port: 1437
	Destination port: 5190
	Sequence: 0x94A21A22 (2493651490)
	Acknowledgement: 0x8A85EC4C (2324032588)
	Header length: 0x05 (5) - 20 bytes
	Flags: PSH ACK 
		URG: 0
		ACK: 1
		PSH: 1
		RST: 0
		SYN: 0
		FIN: 0
	Window: 0xFED4 (65236)
	Checksum: 0xC6D4 (50900) - correct
	Urgent Pointer: 0x0000 (0)
	TCP Options: None
ICQv7
	Channel ID: 0x02 (2) - SNAC data
	Sequence number: 0x6E1A (28186)
	Data length: 0x000E (14)
	Family: 0x0002 (2)
	Sub-type: 0x0004 (4)
	Flags: 0x0000 (0)
	Request-id: 0x00000004 (4)
	Command: Set client information
ICQv7
	Channel ID: 0x02 (2) - SNAC data
	Sequence number: 0x6E1B (28187)
	Data length: 0x002D (45)
	Family: 0x0001 (1)
	Sub-type: 0x001E (30)
	Flags: 0x0000 (0)
	Request-id: 0x0000001E (30)
	Command: Set status code
Aaiiua:
0x0000   00 1A E2 25 46 3C 00 26-22 6A 3B 31 88 64 11 00   ..a%F<.&"j;1?d..
0x0010   D2 CD 00 B1 00 21 45 00-00 AF 0C B8 40 00 80 06   OI.±.!E..?.?@.€.
0x0020   63 F5 5F 9E CF 15 40 0C-1A DC 05 9D 14 46 94 A2   co_zI.@..U.?.F”?
0x0030   1A 22 8A 85 EC 4C 50 18-FE D4 C6 D4 00 00 2A 02   ."S…iLP.?O?O..*.
0x0040   6E 1A 00 0E 00 02 00 04-00 00 00 00 00 04 00 04   n...............
0x0050   00 00 2A 02 6E 1B 00 2D-00 01 00 1E 00 00 00 00   ..*.n..-........
0x0060   00 1E 00 1D 00 1F 00 02-04 0E 00 0A 36 36 36 3F   ............666?
0x0070   3F 3F 39 39 39 20 00 00-00 0E 00 09 69 63 71 6D   ??999 ......icqm
0x0080   6F 6F 64 31 36 2A 02 6E-1C 00 0E 00 01 00 11 00   ood16*.n........
0x0090   00 00 00 00 11 00 00 00-00 2A 02 6E 1D 00 0E 00   .........*.n....
0x00A0   02 00 04 00 00 00 00 00-04 00 04 00 00 2A 02 6E   .............*.n
0x00B0   1E 00 12 00 01 00 1E 00-00 00 00 00 00 00 06 00   ................
0x00C0   04 10 00 00 02                                    .....

TICQClient v1.34.2


Код:
Ethernet II
	Destination MAC: 00:1A:E2:25:46:3C
	Source MAC: 00:26:22:6A:3B:31
	Ethertype: 0x8864 (34916) - PPPoE Session
PPPoE
	Version: 0x01 (1)
	Type: 0x01 (1)
	Code: 0x00 (0) - Session
	Session id: 0xD2CD (53965)
	Length: 0x005D (93)
	PPP protocol ID: 0x0021 (33) - IPv4
IP
	IP version: 0x04 (4)
	Header length: 0x05 (5) - 20 bytes
	Differentiated Services Field: 0x00 (0)
		Differentiated Services Code Point: 000000 - Default
		ECN-ECT: 0
		ECN-CE: 0
	Total length: 0x005B (91)
	ID: 0x0D55 (3413)
	Flags
		Don't fragment bit: 1 - Don't fragment
		More fragments bit: 0 - Last fragment
	Fragment offset: 0x0000 (0)
	Time to live: 0x80 (128)
	Protocol: 0x06 (6) - TCP
	Checksum: 0x63DA (25562) - correct
	Source IP: 95.158.207.21
	Destination IP: 64.12.26.174
	IP Options: None
TCP
	Source port: 1464
	Destination port: 5190
	Sequence: 0x0625DD14 (103144724)
	Acknowledgement: 0xFD3FBCBC (4248812732)
	Header length: 0x05 (5) - 20 bytes
	Flags: PSH ACK 
		URG: 0
		ACK: 1
		PSH: 1
		RST: 0
		SYN: 0
		FIN: 0
	Window: 0xFB9D (64413)
	Checksum: 0xA211 (41489) - correct
	Urgent Pointer: 0x0000 (0)
	TCP Options: None
ICQv7
	Channel ID: 0x02 (2) - SNAC data
	Sequence number: 0x9FEE (40942)
	Data length: 0x002D (45)
	Family: 0x0001 (1)
	Sub-type: 0x001E (30)
	Flags: 0x0000 (0)
	Request-id: 0x0000001E (30)
	Command: Set status code
Aaiiua:
0x0000   00 1A E2 25 46 3C 00 26-22 6A 3B 31 88 64 11 00   ..a%F<.&"j;1?d..
0x0010   D2 CD 00 5D 00 21 45 00-00 5B 0D 55 40 00 80 06   OI.].!E..[.U@.€.
0x0020   63 DA 5F 9E CF 15 40 0C-1A AE 05 B8 14 46 06 25   cU_zI.@..®.?.F.%
0x0030   DD 14 FD 3F BC BC 50 18-FB 9D A2 11 00 00 2A 02   Y.y???P.u??...*.
0x0040   9F EE 00 2D 00 01 00 1E-00 00 00 00 00 1E 00 1D   Yi.-............
0x0050   00 1F 00 02 04 0E 00 0A-36 36 36 3F 3F 3F 39 39   ........666???99
0x0060   39 20 00 00 00 0E 00 09-69 63 71 6D 6F 6F 64 31   9 ......icqmood1
0x0070   36                                                6



Чисто протокол ICQv7 начиная с 2A 02 у QIP 2005


Код:
0x0050   00 00 2A 02 6E 1B 00 2D-00 01 00 1E 00 00 00 00   ..*.n..-........
0x0060   00 1E 00 1D 00 1F 00 02-04 0E 00 0A 36 36 36 3F   ............666?
0x0070   3F 3F 39 39 39 20 00 00-00 0E 00 09 69 63 71 6D   ??999 ......icqm
0x0080   6F 6F 64 31 36 2A 02 6E-1C 00 0E 00 01 00 11 00   ood16*.n........
0x0090   00 00 00 00 11 00 00 00-00 2A 02 6E 1D 00 0E 00   .........*.n....
0x00A0   02 00 04 00 00 00 00 00-04 00 04 00 00 2A 02 6E   .............*.n
0x00B0   1E 00 12 00 01 00 1E 00-00 00 00 00 00 00 06 00   ................
0x00C0   04 10 00 00 02                                    .....

Чисто протокол ICQv7 начиная с 2A 02 у TICQClient v1.34.2


Код:
0x0030   DD 14 FD 3F BC BC 50 18-FB 9D A2 11 00 00 2A 02   Y.y???P.u??...*.
0x0040   9F EE 00 2D 00 01 00 1E-00 00 00 00 00 1E 00 1D   Yi.-............
0x0050   00 1F 00 02 04 0E 00 0A-36 36 36 3F 3F 3F 39 39   ........666???99
0x0060   39 20 00 00 00 0E 00 09-69 63 71 6D 6F 6F 64 31   9 ......icqmood1
0x0070   36                                                6
Разница очевидна, компонент обрезает пакет сразу после индекса статуса icqmood16.
Однако сам заголовок и текст статуса идет до заветной фразы icqmood16, что идет у QIP после него, загадка. Может информация о размерах сообщения и где заканчивается заголовок и начинается сам текст.
X-StreaM вне форума  
Старый 23.08.2010, 08:16   #12
Участник
 
Регистрация: 06.08.2006
Сообщений: 243

ICQ: 272727765

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

У qip там дальше идут 3 новых пакета, не связанных с предыдущем. А склеились они в один из-за особенностей TCP прокола. Снифер ваш просто не умеет реставрировать цепочку пакетов, возьмите ICQMenace.
Sax-mmS вне форума  
Старый 25.08.2010, 19:52   #13
Участник
 
Регистрация: 13.08.2010
Сообщений: 3

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

CommView показал, что QIP склеил 2 пакета, причем последний пакет был Set status code.

Sax-mmS, спасибо за рекомендацию, но ICQMenace не работает под Windows 7, помимо совместимости просто не видит пакеты.
X-StreaM вне форума  
 

Метки
ticqclient


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

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

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


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


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

Новости Сочи