|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.03.2010, 17:47 | #1 |
Пользователь
Регистрация: 29.07.2009
Сообщений: 72
|
Здравствуйте.
Создаю сервер на сокетах. Но возникает проблема при отключении клиента от сервера. Когда клиент отключается функции наподобии isConnected, isClosed возвращают результат , что связь между клиент-сервером до сих пор есть. В итоге поток выполняется на сервере, а связи нету. Код:
=================== уточню некоторые моменты. isConnected, isClosed не возвращают должного результата на стороне сервера. Сервер прослушивает порт и создает каждому клиенту отдельный поток. Предупреждение модератора: оверпостинг запрещен!
Совершенство в простоте
Последний раз редактировалось alexinspir; 10.03.2010 в 01:04. |
09.03.2010, 23:14 | #2 | ||
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
p/s/ Код:
Цитата:
Попробуйте это: http://java.sun.com/javase/6/docs/ap...meout%28int%29 только внимательно прочтите описание.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
||
09.03.2010, 23:53 | #3 | |
Пользователь
Регистрация: 29.07.2009
Сообщений: 72
|
Цитата:
====================== вместо setSoTimeout сделал свой таймаут. просто по истечению 60 секунд неактивности отрубает коннект. эта вещь конечно слабость перед досами. Предупреждение модератора: оверпостинг запрещен!
Совершенство в простоте
Последний раз редактировалось alexinspir; 10.03.2010 в 01:05. |
|
10.03.2010, 01:15 | #4 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
внутри цикла должна быть блокировка, в целях избежания пожирания процессорного времени. по вашему циклу не ясно - я просто привел к сведению эту информацию.
Не вижу слабостей. "не валидные" соединения можно сбрасывать, при множественных валидных запросах можно временно банить по ИП, непосредственно в Java, при частых "не валидных" запросах нет защиты внутри Java, тут уже надо настраивать фаер на машине на которой работает сервер.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
10.03.2010, 08:30 | #5 |
Пользователь
Регистрация: 29.07.2009
Сообщений: 72
|
Если ты про Thread.sleep(); то он присутствует Ж)
Совершенство в простоте
|
10.03.2010, 09:57 | #6 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
>_<
Я имел ввиду блокировку ожидания("ждать пока не наступит определенное условие"). например метод BufferedReader.readLine() ждет пока в потоке не появится \n Thread.sleep() тоже выход, но не очень хороший - при большом количестве информации сервак может просто "захлебнуться" внезапно накопившимся потоком данных.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
11.03.2010, 18:01 | #7 |
Пользователь
Регистрация: 29.07.2009
Сообщений: 72
|
не охота создавать лишние темы. поэтому задам здесь. почти по теме.
Код:
а то на accept блокируется.
Совершенство в простоте
|
11.03.2010, 18:37 | #8 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
нити обрываются через Thread.interrupt();
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сокеты в С | TDrive | C/C++ Сетевое программирование | 6 | 03.03.2010 11:59 |
Сокеты | SL1CK | Общие вопросы C/C++ | 8 | 05.10.2009 13:20 |
Сокеты | Pavelok | Работа с сетью в Delphi | 3 | 16.09.2009 16:57 |
Сокеты | IICuX123 | Общие вопросы .NET | 6 | 27.07.2009 01:27 |
IP клиента | JoanM | Работа с сетью в Delphi | 13 | 01.05.2008 16:30 |