Первое, что вам нужно сделать, это определить протокол.Например ...
- Каждое соединение с сервером должно представлять один файл.
- После того, как соединение установлено, клиент должен передать имя файла в первой строке.
- Затем клиент должен передать размер файла (в байтах) во второй строке.
- Затем клиент должен отправить содержимое файла.
- Наконец, соединение должнобыть выключенным.
Теперь вы должны выполнить кодирование для клиента.Вы можете прочитать содержимое файла, используя FileInputStream .Затем отправьте метаданные и содержимое через сокет, используя OutputBuffer в сокете.
Наконец, сервер.Когда клиент подключается, вы знаете, какими будут первые две строки.Итак, прочитайте в первой строке и создайте новый файл на основе имени файла.Затем прочитайте во второй строке.Наконец, считывает X количество байтов из сокета и записывает эти байты в файл , где X - размер в байтах из второй строки.
Имеявторая строка, вы знаете, когда вы закончите с сокетом.Кроме того, в случае смерти или блокировки сокета - по какой-либо причине - вы знаете, что с передачей что-то не так, и можете прервать ее.