ICQ клиент

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

wavebvg
протокол открыт, смотри какой пакет меньше тот и пускай =), я бы попробывал раз в минуту менять статус на такой же , должно приходить подверждение, и пакет не большой вроде.
или глянь в коде крысы или миранды какой пакет отправляется чтобы соединение не прерывалось на диалапе, хотя там может просто пинг быть.
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

Стоит такой алгоритм - если нет сообщений от сервера, ждём 50 секунд и отправляем запрос юзер инфо, ждём 10 секунд, если ответа нету, ещё раз отправляем, если не приходит ответ, тогда сбрасываем статус и ждём, реконнектор сработает.
Ещё очень интересный вопрос про трей - как перерисовывать иконку, чтобы не приходилось её скрывать?
Аватара пользователя
bw
постоялец
Сообщения: 359
Зарегистрирован: 01.12.2005 10:36:23
Откуда: Усть-Илимск
Контактная информация:

Сообщение bw »

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

..bw
haword
постоялец
Сообщения: 301
Зарегистрирован: 02.03.2006 10:34:40

Сообщение haword »

Привет. Если ты юзаешь HTTP протокол то тут уже немного другой принцип как я понял. Сам по себе HTTP не может держать соединение, он может только переодически запрашивать что то на подобии HTML странички с сервера и брать от туда инфу о пришедших сообщениях. Прямого соедниение на этом типа связи быть не может, так же как у браузера который просматривает страничку, ты скачал ее и все соединение пропало. Через сокеты когда идет соединение там канал всегда держиться.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

wavebvg писал(а):отправляем запрос юзер инфо

ну это какбы большой трафик =)
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

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

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

Ну пока пусть так будет, поправиьт там дело нескольких минут, если знать, как отследить корректный ответ от сервера...
Аватара пользователя
bw
постоялец
Сообщения: 359
Зарегистрирован: 01.12.2005 10:36:23
Откуда: Усть-Илимск
Контактная информация:

Сообщение bw »

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

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

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

..bw
Последний раз редактировалось bw 14.05.2008 17:46:27, всего редактировалось 1 раз.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

bw писал(а):но, как я говорил, смена статуса, это плохая идея.

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

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

пиджин тоже умеет, хотя если он крысу мучает то там хоть обсоздовайся логов, код в его руках, только еще раз напоминаю, что проще пол часа в спеках покапаться чем неделю ловить чего там отвечает сервер =)
Аватара пользователя
bw
постоялец
Сообщения: 359
Зарегистрирован: 01.12.2005 10:36:23
Откуда: Усть-Илимск
Контактная информация:

Сообщение bw »

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

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

..bw
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

В этих спеках ещё разобраться надо, что у меня не получается - проще по наитию код поправить, сейчас разбирался с авторизацией, так и не нашёл, почему он не отображает правильно некоторые вещи - просто не могу найти строчку, где создаётся эвент, но это ничего - прорвёмсу...
Кто-нить знает, компонент tlist работает, а то после обращения к нему - всё подвисает наглухо!!!
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

Сам по себе HTTP не может держать соединение

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