Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 63

Отслеживание события разрыва соединения в Selector`e

05.01.2012, 10:59. Показов 2021. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При создании сервера с использованием Selector`a появляется проблема отслеживания разрыва соединения, инициированного клиентом.
Особенно это заедает из-за того, что при таком "нежданном" разрыве сервер начинает не по детски жрать выч.мощность.
Значения ключей, возвращаемых селектором, похоже, для такого дела не приспособлены. Так что же делать?
Кто-нибудь уже решал подобное?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2012, 10:59
Ответы с готовыми решениями:

Отлов разрыва соединения
Здравствуйте! Нашел реализацию чата, который использует long polling. Проблема такова: При проявлении 'не активности' перестают...

Обработчик разрыва p2p соединения
Товарищи, как проверить что пользователь, с которым был p2p соединение. Это событие к какому относиться? Группе(NetGroup),...

Сокеты: определение разрыва соединения
Как под сокеты определить разрыв соединения?

5
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 64
13.01.2012, 16:23
Dlja etogo nuzno proverit'' pustaja li visilaetsja stroka(klientom)Kstati v nete ku4a primerov po selektoru v tom 4isle i po russki
0
0 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 63
15.01.2012, 21:44  [ТС]
Цитата Сообщение от Tomaso
Dlja etogo nuzno proverit'''' pustaja li visilaetsja stroka(klientom)Kstati v nete ku4a primerov po selektoru v tom 4isle i po russki
Погодь! В цикле производится опрос селектора на предмет появления событий (как то: запрос на установление соединения, передача данных от клиента).
Так вот, суть в том, что при ОБРЫВЕ соединения (мало ли, вдруг у клиента скачок напряжения) селектор тупо молчит. А проц, как я уже говорил выше, начинает напрягаться.

Примеры в сети, конечно, есть, но все, с которыми я сталкивался, подразумевают схему общения: "соединение-запрос-ответ-рассоединение". Мне такое не подходит. У меня должен получаться "настоящий секс по телефону". И упомянутый неприятный факт весьма этому мешает.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.01.2012, 16:44
В селекторе обычно идет опрос каналов на их готовность к приему или передаче. Селектор - это специализированная коллекция соединенных каналов (сокетов). Если поток собирается писать в один из каналов, а клиент умер, то должно выскочить исключение, как и в традиционных сокетах. И все. И этот канал надо выкинуть из селектора. Какое потребление ресурсов из-за этого? Совершенно не понятно, о чем вы пишите.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
16.01.2012, 16:46
В цикле производится опрос селектора на предмет появления событий (как то: запрос на установление соединения, передача данных от клиента).
Насколько я знаю, в селектор кладут уже соединенный канал.
0
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 64
20.01.2012, 16:05
Цитата Сообщение от boaa
Цитата Сообщение от Tomaso
Dlja etogo nuzno proverit'''''''' pustaja li visilaetsja stroka(klientom)Kstati v nete ku4a primerov po selektoru v tom 4isle i po russki
Погодь! В цикле производится опрос селектора на предмет появления событий (как то: запрос на установление соединения, передача данных от клиента).
Так вот, суть в том, что при ОБРЫВЕ соединения (мало ли, вдруг у клиента скачок напряжения) селектор тупо молчит. А проц, как я уже говорил выше, начинает напрягаться.

Примеры в сети, конечно, есть, но все, с которыми я сталкивался, подразумевают схему общения: "соединение-запрос-ответ-рассоединение". Мне такое не подходит. У меня должен получаться "настоящий секс по телефону". И упомянутый неприятный факт весьма этому мешает.
Otli4no tebja ponimaju.No eto katit.Sam pisal.S soboj netu.Nas4ot primerov est'' 4ati napisannie na nio.Ja sam kogda razbiralsja naparivalsja na nih.Poishi polutshe.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2012, 16:05
Помогаю со студенческими работами здесь

Потеря связи без разрыва соединения
Уже неделю наблюдается проблема- пропадает интернет (примерно каждые 10-20 минут), но соединение не разрывается, так же и остается...

Скрипт для разрыва Интернет-соединения по условию
Здравствуйте! Помогите, плиз, в реализации следующей задумки. Нужен скрипт, который бы мониторил интернет-соединение и подсчитывал общее...

Потеря соединения без разрыва сессии. FTTB МТС
Потеря соединения без разрыва сессии.Кабель напрямую из порта оператора мне в комп .FTTB МТС WIN 7. Вообщем проблема в том, что теряется...

Автоматическое подключение к серверу после разрыва соединения с ним
Собственно, сабж. Пока ползал по форуму, пофиксил некоторые недочёты, но проблема осталась нершённой. :: запуск клиента start vlc.exe...

Рабочий метод разрыва конкретного активного соединения из командной строки Windows7
Рабочий метод разрыва конкретного активного соединения из командной строки Windows7. Как это сделать? Спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru