СообЧа > База Знаний > Программирование > C, С++ > Borland C++ Builder

Вопрос

Друг собирается писать програмку. Посылаешь на сервер номер, а он присылает определенный документ. Монимаю, что это минимум информации, но посоветуйте что-нибудь. В крадце какую-нибцдь функцию нужную опишите, или особенность алгоритма.

Ответ

Для передачи файла я рекомендую TransmitFile, она оптимизированна для обеспечения наивысшей скорости передачи. Из особенностей алгоритма:

1. Нужно устанавливать соединенние, во всяком случае для передачи.

2. Проверять длинну входного буфера, а буфер выделять динамически.

Вообще то что пишет твой друг очень похоже на веб сервер, там тоже в ответ на запрос отправляется файл, только в качестве входного параметра там имя файла (зачастую) и параметры. Надо предусмотреть возможность проверки подлинности, чтобы документы не попали в чужие руки.

Если в планах чтобы прога могла обрабатывать несколько клиентских запросов одновременно, то самый лучший вариант это использование портов завершения ввода-вывода (CreateIoCompletionPort только для НТ) или многопоточность, или можно использовать асинхронные сообщения на окно (WSAAsyncSelect).

Короче особенностей много, ИМХО проще и маштабируемее будет использовать вместо номеров имена файлов или вообще использовать веб сервер.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация