![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Johen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.5.2004 Где: Санкт-Петербург Репутация: нет Всего: нет |
Есть такая функция в Windows Sockets как TransmitFile.
Описание в MSDN здесь. Вопрос такой: допустим сервер передает клиенту файл, с помощью каких средств клиент принимает файл? Какие функции клиент должен использовать, чтобы нормально этот файл принять? Желателен пример кода. ![]() |
|||
|
||||
UncleBob |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.6.2005 Где: vo.spb.ru Репутация: нет Всего: нет |
Я думаю, что это можно выполнить с помощью обычного метода чтения сокета - recv.
|
|||
|
||||
Johen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.5.2004 Где: Санкт-Петербург Репутация: нет Всего: нет |
А поконкретней можно? Если через recv, то тогда зачем нужна вообще функция TransmitFile()? Можно используя send передавать файло...
Я думаю здесь recv не поможет... |
|||
|
||||
UncleBob |
|
||||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.6.2005 Где: vo.spb.ru Репутация: нет Всего: нет |
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 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.5.2004 Где: Санкт-Петербург Репутация: нет Всего: нет |
Тогда что-то вроде этого:
сервер: fread() -> send() -> клиент: recv() -> fwrite() ![]() |
|||
|
||||
UncleBob |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.6.2005 Где: vo.spb.ru Репутация: нет Всего: нет |
Я бы сделал так: 1. На сервере формируешь заголовок. Для простоты фиксированной длины
2. Коннектишься, открываешь файл, отсылаешь файл:
3. Принимаешь файл:
4. Писал не проверяя, мобыть налажал ![]() Это сообщение отредактировал(а) UncleBob - 20.6.2005, 11:03 |
||||||||
|
|||||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |