Здравствуйте, mgoncharenko, Вы писали:
>> Как правильно организовать пересылку *любых* файлов (в т.ч. архивов) в >> приложении клиент-сервер?
Тут надо какой-нибудь простенький протокол придумать. Например, клиент шлет серверу запрос
на отсылку файла (4 байта — int код отсылки файла, например, 1000), сервер отвечает четырехбайтовым
int-ом тоже, что он не против принять файл. Тогда клиент шлет ему длину строки с именем файла, само имя
файла, длину строки с путем, куда файл поместить, сам путь. Также шлется строка с параметрами
открытия файла и т. д. Затем идет отправка самого файла кусками, но лучше это делать не по 4 Кб,
как было написано в предыдущем посте, а большими кусками (вообще-то это зависит от типа соединения, но
если по локалке, то не меньше 500 Кб, иначе медленно работать будет). После отсылки каждого куска
клиент должен получить с сервера 4 байта — int код подтверждения получения пакета. Причем, перед каждым
куском еще лучше слать размер этого пакета, а то последний пакет будет не 500 Кб, к примеру, а 233 Кб.