Суть такова:
Осуществляю подключение через сокет (C# .NET), адрес и порт:
this.m_sHost = "login.icq.com";//sHost;this.m_nPort = 12434;//nPort; - тут пробовал 5190, а это значение взял из Аси - разницы не было
.
Читаю через Socket.Receive()
Получаю нормальный FLAP-пакет с DWORD 0x00000001 — запрос на UIN/password
С помощью Socket.Send() Отсылаю FLAP:
Packet_ID 0x2A (FLAP)
Channel_ID 0x01 (Authorization)
Sequence (WORD)
Length (WORD)
Data (DWORD) 0x00000001 (Запрос на авторизацию)
Дальше идут TVL формата: Type (WORD), Length (WORD), Value (по-разному)
0x1, Length, UIN — кстати, в каком формате посылать? Каждый символ в своем байте, или перевести в шестнадцатиричный?
0x2, Length, Password (от балбы брал)
0x3, Length, "ICQ Inc. — Product of ICQ (TM).2000a.4.31.1.3143.85" — перевел сначала в CharArray, потом в Byte[]
0x16, Length, 0x010A
0x17, Length, 0x0004
0x18, Length, 0x001F
0x19, Length, 0x0001
0x1A, Length, 0x0C47
0x14, Length, 0x00000055
0x0F, Length, "en"
0x0E, Length, "us" — Эти значения не переводил, забил просто как строки
По идее сервер должен ответить пакетом, содержащим TLV-4 и TLV-8, поскольку был послан неправильный пароль.
В реальности же сервер не отвечает вообще. Во всяком случае, Socket.Receive() не получает больше ни одного байта.
В чем тут прикол? Может быть, я посылаю некорректные данные? Или не туда стучусь? Или сервер не может прочитать моих данных (возможно ли, что они просто в неправильном формате, и поэтому сервер молчит?)
Сознание определяет бытие!
Re: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
S>В чем тут прикол? Может быть, я посылаю некорректные данные? Или не туда стучусь? Или сервер не может прочитать моих данных (возможно ли, что они просто в неправильном формате, и поэтому сервер молчит?)
Писал как-то и логин проходил нормально и если пароль не правильно тоже нормальные ответы от сервера приходили.
Могу намылить.
Re[2]: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
Здравствуйте, Alkash, Вы писали:
A>Писал как-то и логин проходил нормально и если пароль не правильно тоже нормальные ответы от сервера приходили. A>Могу намылить.
Было бы неплохо. Если хорошие сырцы — то будет всем в жизни счастье!
sulik_slr@hotmail.kg
Сознание определяет бытие!
Re: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
Здравствуйте, Sulik, Вы писали:
S>Ну хоть кто-то может подсказать??
Совсем забыл сказать видимо дело может быть в том что у LoginServer стоит таймаут на передачу данных.
И если ты проходишь это место в отладке сервак уже может порвать соединение вообще.
Re[3]: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
A>Совсем забыл сказать видимо дело может быть в том что у LoginServer стоит таймаут на передачу данных. A>И если ты проходишь это место в отладке сервак уже может порвать соединение вообще.
Да нет, соединение нормальное, метод Socket.Send() возвращает правильное число отосланных байтов, все вроде бы путем.
Кстати, на мыло ничего так и не пришло..
Сознание определяет бытие!
Re[4]: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
Здравствуйте, Sulik, Вы писали:
S>Да нет, соединение нормальное, метод Socket.Send() возвращает правильное число отосланных байтов, все вроде бы путем.
А Recive валиться или просто молчит. У меня было что на прием рвалось соединение при отладке.
S>Кстати, на мыло ничего так и не пришло..
А сейчас?
Re[5]: ICQ-плагин (oscar v7/v8) не проходит этап авторизации
Здравствуйте, Sulik, Вы писали:
S>Огромное спасибо! S>Теперь буду копать, в чем разница. S>Хотя уже сейчас видно, что у меня FLAP-пакет в 3 раза длиннее