myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Ваш ник занят и проблемы сети, проблема повторного подключения к хабу

Теги
Нет тегов для показа
RAND(i)M
сообщение 7.2.2011, 22:17
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 23.3.2010
Из: Пенза
Пользователь №: 6 428
Спасибо сказали: 22 раза




Может уже есть такая тема, сорри если создал дубль или тема - полный бред.

По техническим причинам, напр. со стороны провайдера иногда рвётся соединение с хабом, и в результате юзер снова подключается к хабу и видит сообщение: "Ваш ник занят...". Причём занят им самим же. После такого события прога-клиент, например GreyLink, перестаёт автоматически подключаться к хабу, пока юзер это не сделает вручную, как гласит статистика, это произойдёт только при следующем запуски клиента юзером.

Так вот, вопрос. Можно ли как-то пресечь такую ситуацию со стороны хаба?

Go to the top of the page
+Quote Post
Nickolya
сообщение 8.2.2011, 9:55
Сообщение #2


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Нормальные клиенты подключаются к хабу через какой-то интервал, после обрыва, и так постоянно, 1 проблема в клиенте. Выкидывайте вы уже этот грейлинк.
У тебя какая ОС? Если линукс, то возможно тебе помогут настройки, устанавливающие таймаут для отвалившегося сокета. Но более подробно тебе смогут рассказать только линуксойды или мануалы.


Спасибо сказали:
Go to the top of the page
+Quote Post
HackFresse
сообщение 8.2.2011, 9:58
Сообщение #3


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




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

Как исправить? На своем компе ты можешь сделать только регистрацию ника на хабе, больше ничего. Вход юзера с паролем обрывает созданное ранее соединение. Очень нехорошо получается, если загружаешь клиентов с нулевым временем ожидания перед подключнием из разных мест (2 грейлинка будут воевать между собой долго и упорно). Хотя в любом случае задержка должна быть, желательно увеличивающаяся после каждой неудачной попытки..

А на сервере..Тут, наверное, если получится придумать скрипт, который при проверке ника нового юзера будет вместо быстрого ValidateDenide при наличии такого же ника делать сначала некую проверку-пинг (запрос IP, что-ли) соединения..

Взял на себя смелость процитировать грамотного специалиста =) :
http://hub.mydc.ru/chatlog.php?perpage=100...9-17&page=4
Цитата
[2010-09-17 - 17:30:41] <setuper_work> по поводу отключения от хаба
[2010-09-17 - 17:30:47] <setuper_work> раз был такой разговор
[2010-09-17 - 17:31:00] <setuper_work> есть 2 типа отключения
[2010-09-17 - 17:31:06] <setuper_work> корректное и некорректное
...
[2010-09-17 - 17:31:36] <setuper_work> о некорректном отключении хаб узнаёт по ошибкам в сокете
..
[2010-09-17 - 17:32:11] <setuper_work> при корректном отключении клиент отсылает на хаб пустую команду
[2010-09-17 - 17:32:57] <setuper_work> под пустой командой подразумевается не пустая команда протокола NMDC, и даже не пустая строка
[2010-09-17 - 17:33:07] <Alexey> setuper_work: %z?
[2010-09-17 - 17:33:21] <setuper_work> пустая команда - это 0 байт
[2010-09-17 - 17:34:04] <setuper_work> это протокол tcp.шз
[2010-09-17 - 17:34:11] <setuper_work> *tcp/ip
[2010-09-17 - 17:34:53] <setuper_work> поэтому если пингер корректно закрывает сокет, то хаб должен корректно разъединить пигнера
[2010-09-17 - 17:35:22] <setuper_work> в противном случае пингер не уйдёт с хаба


Одна из тем на форуме - http://mydc.ru/topic1868.html


Кстати, на каком-то из крупных хабов (в топ 10 "нашего" хаблиста, сейчас не помню, какой именно) замечал, что ник после обрыва соединения висит больше 4-х часов. А это, по-моему, отличный способ набить счетчик юзеров..


Спасибо сказали:
Go to the top of the page
+Quote Post
RAND(i)M
сообщение 5.4.2011, 7:43
Сообщение #4


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 23.3.2010
Из: Пенза
Пользователь №: 6 428
Спасибо сказали: 22 раза




Цитата(HackFesse)
Кстати, на каком-то из крупных хабов (в топ 10 "нашего" хаблиста, сейчас не помню, какой именно) замечал, что ник после обрыва соединения висит больше 4-х часов. А это, по-моему, отличный способ набить счетчик юзеров..
Меня интересуют "живые юзеры" а не накрутка шары и количества
Цитата(HackFesse)
А на сервере..Тут, наверное, если получится придумать скрипт, который при проверке ника нового юзера будет вместо быстрого ValidateDenide при наличии такого же ника делать сначала некую проверку-пинг (запрос IP, что-ли) соединения..
Соответственно, возникает вопрос, есть ли в NMDC безобидная команда, требующая немедленного ответа от клиента (наверно логично, что если ответа не будет, хаб отключит юзера, просто хочется копнуть глубже) ?
Цитата(Nickolya)
У тебя какая ОС? Если линукс, то возможно тебе помогут настройки, устанавливающие таймаут для отвалившегося сокета. Но более подробно тебе смогут рассказать только линуксойды или мануалы.
Windows и пока переход на OpenSource не предвилится... unhappy.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 5.4.2011, 10:24
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Современные клиенты пингуют хабы, отсылая пустую команду (один единственный символ | в сообщении). Пинг происходит примерно раз в 3-4 минуты.

Хаб же отключает пользователя по 2 причинам:
  1. пользователь ушёл с хаба сам (клиент пользователя отослал на хаб сообщение нулевой длины)
  2. пользователь не доступен.



Во втором случае действия зависят от реализации сокет-интерфейса ОС. В винде при попытке отослать данные в "мертвый сокет" возвращается ошибка, по которой хаб и удаляет пользователя.

Однако существует ряд случаев, когда ошибка может не возникать очень долго и хаб будет думать, что клиент ещё "жив".

Возможен случай, когда хаб пытается что-то отослать клиенту, но из-за каких-то неполадок в сети отправленные пакеты теряются, в таком случае хаб будет постоянно пытаться отослать пакеты, не получая никакого ответа, а так как TCP протокол предполагает подтверждение или опровержение доставки пакетов, то хаб будет держать пользователя, пока не получит отказ.


Что касается 4 часов, то это keep alive для сокетов, то есть после определенного времени бездействия система пытается проверить состояние соединения средствами протокола tcp. Система отправляет пинги через некоторый промежуток времени, и если после определенного количества пингов не было получено ни одного ответа от клиента, то клиент считается умершим и сокет закрывается системой.


Спасибо сказали:
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsMagneto - Бесплатный Скрипт Портала Обмена Dc-ссылками Для Локальной Сети
26 UserSide 39 275 27.8.2019, 11:01 Посл. сообщение: CyberGhost404
No New Posts Topic has attachmentsПротив проблемы - Ваш ник занят
(ValidateDenideArrival) VALIDATE_DENIDE_ARRIVAL
0 Sezam 3 723 1.3.2018, 8:04 Посл. сообщение: Sezam
No New Posts Всех любителей сети DC++ с новым годом
Все форумчане и гости в поисках скриптов для своего хаба
0 мамин_парень 3 868 1.1.2018, 15:15 Посл. сообщение: мамин_парень
No New Posts Ник уже занят
4 Sasha55555 5 723 21.11.2017, 9:09 Посл. сообщение: KCAHDEP
No New Posts Проблемы с общением хаб--клиент
6 keyviewer 9 883 23.9.2014, 21:30 Посл. сообщение: Saymon21
No New Posts Проблемы с Greylink на Ptokax хабе
0 tammi_0909 5 796 12.2.2013, 14:29 Посл. сообщение: tammi_0909
No New Posts Проблемы с Webhubconfig
1 jekasumy 4 936 4.3.2012, 23:46 Посл. сообщение: Saymon21
No new Непонятные проблемы с уcтановкой Rushub на Freebsd 8.2 x64
18 LEXSOR 17 062 20.10.2011, 9:48 Посл. сообщение: mariner
No New Posts Проблемы с установкой LUA-GD
1 HunteX 7 930 20.7.2011, 8:43 Посл. сообщение: mariner
No New Posts Topic has attachmentsНужен скрипт подсчитывающий количество юзверей от каждой сети(провайдера) находищихся на хабе
5 САМАЭЛЬ 9 813 9.4.2011, 21:27 Посл. сообщение: Alexey
No New Posts Хаб в данный момент занят...попробуйте зайти чуть позже
Ptokax и YnHub
5 Has21 9 393 23.9.2010, 7:44 Посл. сообщение: Has21
No New Posts Topic has attachmentsПроблемы скрипта действий! Исправьте
Проблемы скрипта действий! Исправьте
9 sania 12 491 19.5.2010, 23:13 Посл. сообщение: sania
No New Posts Еще один блог в сети...
или сидели мы как-то и решили, а почему бы не сделать блог?
13 Nickolya 18 295 31.1.2010, 0:18 Посл. сообщение: Setuper
No new Topic has attachmentsПроблемы с подключением
18 Lev4445 19 489 25.1.2010, 23:11 Посл. сообщение: Lev4445
No new Topic has attachmentsНазвание Сети В Описании Юзера
API1 | Скрипт приписывает к описанию юзеров название сети
23 intlive 39 741 24.1.2010, 16:17 Посл. сообщение: Setuper

 



RSS Сейчас: 29.3.2024, 16:07