| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Работа с сетью > Сокеты |
| Автор: Sherst 2.2.2006, 19:37 | ||||
| Привет всем! Проверьте пожайлуста код. Пытаюсь передать gif-файл от сервера клиенту, но ничего не получается. Клиент package untitled8;
Сервер
Заранее спасибо. |
| Автор: LSD 2.2.2006, 20:35 |
| Ошибка в Frame1 строки 15-16, ты вначале читаешь байт и теряешь его, потом читаешь следующий. Т.е у тебя файл пишется через байт. И зачем все так усложнять, ведь можно это все проще реализовать. |
| Автор: LSD 2.2.2006, 21:03 | ||||
|
| Автор: Sherst 2.2.2006, 22:16 |
| to LSD Спасибо, в который раз меня выручил |
| Автор: LSD 2.2.2006, 22:20 |
| Пожалуйста |
| Автор: x4444 7.2.2006, 17:25 |
| А почему сначала сокет закрываешь, а потом файлстрим? А сокетстрим вообще явно не закрываешь? Вроде по принципу матрешки надо закрывать. |
| Автор: Sherst 7.2.2006, 21:20 |
| TO x4444 Но это же пример. Ведь основная идея была в уяснении процесса обмена файлами... |
| Автор: x4444 8.2.2006, 13:20 |
| т.е. в цепочке стримов достаточно закрыть самый верхний, а нижние он сам закроет? например, в этой (чито гипотетической) цепочке достаточно к конце концов закрыть StringReader? FileInputStream --> BufferedInputStream --> InputStreamReader --> BufferedReader --> StringReader |
| Автор: LSD 8.2.2006, 15:02 | ||||
Зависит от реализации. В Sun-овских класса именно так и сделано.
Это не цепочка, BufferedReader читает из строки, а не из Reader-а. В такой цепочке: FileInputStream --> BufferedInputStream --> InputStreamReader --> BufferedReader достаточно закрыть BufferedReader. |
| Автор: x4444 8.2.2006, 23:32 |
| да точно, только не BufferedReader, a StringReader имелся ввиду. |
| Автор: LSD 8.2.2006, 23:43 |
| Угу, опечатался. |