Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: использование ImageIO для передачи изображений  (Прочитано 4971 раз)
0 Пользователей и 1 Гость смотрят эту тему.
utv32
Гость
« : 01-03-2008 17:34 » 

Помогите, пожалуйста, разобраться с потоками ввода/вывода.
Проблема в следующем:
клиентское приложение отправляет запрос на получение изображения,примерно так:

try{
 while (flag){     
   out.write(msg);
   BufferedImage img = ImageIO.read(in);
 }
}catch(IOException e) {
   System.err.println("IO Exception");
}finally {
socket.close();
}

серверное приложение обрабатывает запрос и отправляет изображение,
в общем виде получается так:

try{
while (in.read(msg) != -1){
    ImageIO.write(img, "jpeg",out)
    out.flush();
}
}catch(IOException e) {
   System.err.println("IO Exception");
}finally {
socket.close();
}

Так вот, клиент зависает на строчке BufferedImage img = ImageIO.read(in);
При этом если убрать циклы, то изображение принимается,видимо когда закрывается сокет.
Возможно ли использование подобных циклов, если я использую блокируемый режим соединения?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines