![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| DOKA |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Доброго дня!
Требуется из входного сокета (m_inSocket) перенаправить поток на выходной сокет (m_outSocket). Но проблема в том, что на строчке
чтение в какой-то момент останавливается. Сам не понимаю почему. Обратите внимание на строку
- если её нет, то зависание происходит гораздо раньше. Данные перенаправляются целиком только в редких случаях. Помогите, пожалуйста. Вот код:
|
||||||
|
|||||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 1 Всего: 18 |
Операция read является блокирующей, т.е. пока не придёт очередная порция данных, программа будет стоять и ждать.
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| DOKA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Да, спасибо. Решением было использование available(). Только теперь почему-то нагрузга на процессор просто дикая. Как можно не ждать не бегая постоянно в цикле? Да и скорость передачи данных хромает :( |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 3 Всего: 40 |
Если это клиент, используй отдельный поток, в котором читаешь блок методом read(buffer), если сервер, используй NIO или какой-нибудь фреймворк, типа Apache MINA
|
|||
|
||||
| DOKA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Хм, и правда. Только что-то потоков много стало |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |