Страница 4 из 4

Re: ICQ клиент

СообщениеДобавлено: 06.05.2008 22:59:58
Attid
wavebvg
протокол открыт, смотри какой пакет меньше тот и пускай =), я бы попробывал раз в минуту менять статус на такой же , должно приходить подверждение, и пакет не большой вроде.
или глянь в коде крысы или миранды какой пакет отправляется чтобы соединение не прерывалось на диалапе, хотя там может просто пинг быть.

Re: ICQ клиент

СообщениеДобавлено: 06.05.2008 23:34:58
wavebvg
Стоит такой алгоритм - если нет сообщений от сервера, ждём 50 секунд и отправляем запрос юзер инфо, ждём 10 секунд, если ответа нету, ещё раз отправляем, если не приходит ответ, тогда сбрасываем статус и ждём, реконнектор сработает.
Ещё очень интересный вопрос про трей - как перерисовывать иконку, чтобы не приходилось её скрывать?

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 00:51:55
bw
> я бы попробывал раз в минуту менять статус на такой же
Интересная вешь, кстати. Если в моем клиенте (gaim) сменить статус, то тут же начинают сыпаться спам-сообщения, как то они его мониторят. При загрузке системы и gaim, спам не приходит, ну очень редко, а вот именно при смене статуса уже в работающем и подключенном клиенте, появляется спам.
Может кто знает, почему?

..bw

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 09:41:07
haword
Привет. Если ты юзаешь HTTP протокол то тут уже немного другой принцип как я понял. Сам по себе HTTP не может держать соединение, он может только переодически запрашивать что то на подобии HTML странички с сервера и брать от туда инфу о пришедших сообщениях. Прямого соедниение на этом типа связи быть не может, так же как у браузера который просматривает страничку, ты скачал ее и все соединение пропало. Через сокеты когда идет соединение там канал всегда держиться.

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 11:43:46
Attid
wavebvg писал(а):отправляем запрос юзер инфо

ну это какбы большой трафик =)

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 12:19:05
wavebvg
haword писал(а):Привет. Если ты юзаешь HTTP протокол то тут уже немного другой принцип как я понял. Сам по себе HTTP не может держать соединение, он может только переодически запрашивать что то на подобии HTML странички с сервера и брать от туда инфу о пришедших сообщениях. Прямого соедниение на этом типа связи быть не может, так же как у браузера который просматривает страничку, ты скачал ее и все соединение пропало. Через сокеты когда идет соединение там канал всегда держиться.

дело не в этом, конечно же для соединения используются сокеты, просто в орпеделённый момент связь как бы теряется, но сокет соединение не отсодиняется...
Attid писал(а):ну это какбы большой трафик =)

Ну пока пусть так будет, поправиьт там дело нескольких минут, если знать, как отследить корректный ответ от сервера...

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 15:25:39
bw
> Сам по себе HTTP не может держать соединение
Вообще то может :-). За счет этого достигается большая скорость передачи контента от сервера клиента, так как не приходится каждый раз устанавливать соединение (трудоемкая задача). Эта не обязательная фича, сервер или клиент не обязаны её реализовывать. Могу ошибаться, но кажется эта особенность появилась в HTTP 1.1. Ладно, это оффтоп.

> в орпеделённый момент связь как бы теряется, но сокет соединение не отсодиняется...
А вот это интересно. Не знал что такое может быть. Тогда, конечно, нужно как-то пинговать сервер, но, как я говорил, смена статуса, это плохая идея.

> если знать, как отследить корректный ответ от сервера...
Миранда может писать весь трафик в логи, можно подсмотреть за ней, при желании. Или изучить коды какого-нибудь открытого клиента.

..bw

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 15:51:05
Attid
bw писал(а):но, как я говорил, смена статуса, это плохая идея.

а ты отключи в асе "отображать мой статус на странице" спамеры палить не смогут =)

Добавлено спустя 2 минуты 2 секунды:
bw писал(а):> если знать, как отследить корректный ответ от сервера...
Миранда может писать весь трафик в логи, можно подсмотреть за ней, при желании. Или изучить коды какого-нибудь открытого клиента.

пиджин тоже умеет, хотя если он крысу мучает то там хоть обсоздовайся логов, код в его руках, только еще раз напоминаю, что проще пол часа в спеках покапаться чем неделю ловить чего там отвечает сервер =)

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 17:37:23
bw
> а ты отключи в асе "отображать мой статус на странице" спамеры палить не смогут =)
Да вроде как отключено.

> проще пол часа в спеках покапаться чем неделю ловить чего там отвечает сервер
Но не так интересно ;-).

..bw

Re: ICQ клиент

СообщениеДобавлено: 07.05.2008 21:00:12
wavebvg
В этих спеках ещё разобраться надо, что у меня не получается - проще по наитию код поправить, сейчас разбирался с авторизацией, так и не нашёл, почему он не отображает правильно некоторые вещи - просто не могу найти строчку, где создаётся эвент, но это ничего - прорвёмсу...
Кто-нить знает, компонент tlist работает, а то после обращения к нему - всё подвисает наглухо!!!

Re: ICQ клиент

СообщениеДобавлено: 14.05.2008 08:41:16
Timid
Сам по себе HTTP не может держать соединение

bw прав, соединение поддерживать возможно, есть специальный запрос CONNECT. На нем работает QIP.
ICQ-сервера его поддерживают.