Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > TransmitFile |
Автор: Johen 9.6.2005, 14:16 |
Есть такая функция в Windows Sockets как TransmitFile. Описание в MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/transmitfile_2.asp. Вопрос такой: допустим сервер передает клиенту файл, с помощью каких средств клиент принимает файл? Какие функции клиент должен использовать, чтобы нормально этот файл принять? Желателен пример кода. ![]() |
Автор: UncleBob 10.6.2005, 11:06 |
Я думаю, что это можно выполнить с помощью обычного метода чтения сокета - recv. |
Автор: Johen 14.6.2005, 13:46 |
А поконкретней можно? Если через recv, то тогда зачем нужна вообще функция TransmitFile()? Можно используя send передавать файло... Я думаю здесь recv не поможет... |
Автор: UncleBob 14.6.2005, 16:26 | ||||
The TransmitFile function transmits file data over a connected socket handle. This function uses the operating system's cache manager to retrieve the file data, and provides high-performance file data transfer over sockets. Ну и как ты сделаешь то же самое через обычный send? Добавлено @ 16:26
Уверен в обратном. |
Автор: Johen 17.6.2005, 17:10 |
Тогда что-то вроде этого: сервер: fread() -> send() -> клиент: recv() -> fwrite() ![]() |
Автор: UncleBob 20.6.2005, 11:01 | ||||||||
Я бы сделал так: 1. На сервере формируешь заголовок. Для простоты фиксированной длины
2. Коннектишься, открываешь файл, отсылаешь файл:
3. Принимаешь файл:
4. Писал не проверяя, мобыть налажал ![]() |