Вопрос
Друг собирается писать програмку. Посылаешь на сервер номер, а он присылает определенный документ. Монимаю, что это минимум информации, но посоветуйте что-нибудь. В крадце какую-нибцдь функцию нужную опишите, или особенность алгоритма.
Ответ
Для передачи файла я рекомендую TransmitFile, она оптимизированна для обеспечения наивысшей скорости передачи. Из особенностей алгоритма:
1. Нужно устанавливать соединенние, во всяком случае для передачи.
2. Проверять длинну входного буфера, а буфер выделять динамически.
Вообще то что пишет твой друг очень похоже на веб сервер, там тоже в ответ на запрос отправляется файл, только в качестве входного параметра там имя файла (зачастую) и параметры. Надо предусмотреть возможность проверки подлинности, чтобы документы не попали в чужие руки.
Если в планах чтобы прога могла обрабатывать несколько клиентских запросов одновременно, то самый лучший вариант это использование портов завершения ввода-вывода (CreateIoCompletionPort только для НТ) или многопоточность, или можно использовать асинхронные сообщения на окно (WSAAsyncSelect).
Короче особенностей много, ИМХО проще и маштабируемее будет использовать вместо номеров имена файлов или вообще использовать веб сервер.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация