Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Работа с сетью > и снова передача файлов |
Автор: hagerds 20.5.2012, 13:02 | ||
Всем добрый день! Я создаю соединение клиента с сервером. Между ними передаю строки не разрывая соединения. (тоесть чата). Мне надо передать файлы побайтно по сети. отдельно это реализовал, а как с чатом не понимаю. К примеру по нажатию клавиши я попадаю в case 2: и передаю коллекцию файлов, для передачи по сети. Прохожу её итератором. Дальше джидаевским способом создаю поток для передачи байт итому клиенту. Без закрытия потока, клиент не получает последней порции передоваемых байт. По закрытию потока мы не можем передать ещё один файл и тем более строку т.к. поток мы закрыли. ![]() Вопрос! как правильно передать файл / лы. не разрывая соединения с чатом? вот куски кода.
|
Автор: hagerds 20.5.2012, 13:56 |
мысль пришла в голову. можно передать файл по другому порту, но при этом придётся создавать на клиенте ServerSocket. а это мне кажется не есть холошо. |
Автор: hagerds 20.5.2012, 21:33 |
Нашол интересный класс DataInputStream но при передаче строки передаётся часть байтов. Что ведёт к краху передачи файлов. саветы на других форумах нашол говорят надо писать свой протакол. где хоть про это посмотреть? ![]() ![]() ![]() |
Автор: Dummy 21.5.2012, 08:29 |
В вашем изначальном коде вы после out.write() не делаете out.flush(). Измените, и тогда должны все данные приходить без закрытия потока. После первого файла сможете передать второй и т. д. |