Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Нужен совет по оптим. пересылке данных


Автор: TheX 7.6.2007, 21:07
Добрый день всем!
Хочу спросить Ваши мнения по поводу организации одного проекта.
Суть следующая. Есть некая крупная (географически) контора с множеством отдаленных друг от друга филиалов. Некоторые филиалы объединены в одну общую с центром локальной сетью, некторые же просто имеют коммутируемый выход в инет, но у всех филиалов есть e-mail. Необходимо через определенный срок отправлять некоторые цифровые статистические величины из филиалов в центр, где они обрабатываются автоматом, сохраняются в БД и отображаются в удобном диаграмном виде на столе у руководителя.
Первая версия этой программы была реализована мной в виде простейшей пересылки e-mail сообщений от филиалов на строго определенный один адрес в центре, где автоматически они принимались и далее разбирались по составляющим. Но т.к. у некоторых филиалов есть проблема в точном определении параметров своих SMTP серверов (а сам я туда физически добраться не могу для корректной настройки SMTP), то пересылка с этих мест не была реализована.
Т.е. хотелось бы в новой версии реализовать универсальный механизм, к-рый не зависел бы от задания параметров SMTP (например, автоматическое определение всех возможных IP SMTP у адресата, через к-рые можно организовать отсылку письма, или например отсылка на основе TMapiMessage, или ВООБЩЕ УЙТИ ОТ ИСПОЛЬЗОВАНИЯ e-mail).
Т.е. я не прошу у Вас конкретных решений, просто хочу узнать у Мастеров мнение, как вообще можно просто и надежно (в независимости от конечного компьютера юзера) реализовать отсылку писем из филиалов. И возможно ли теоретически гарантировать надежность в таком случае
СПАСИБО! smile 

Автор: Snowy 7.6.2007, 21:17
Размещать файла на ftp сервере с доступосм по логину-паролю - это логичнее.

Автор: TheX 7.6.2007, 22:14
Snowy, я понял, но нужно, чтобы пользователь в филиале не мог вручную изменить исходный файл с данными, т.е. процесс переброса данных необходимо сделать невидимым.

Автор: Snowy 7.6.2007, 22:35
Ну так не показывай ему ни адреса сервера, ни логина/пароля smile

Автор: Eva_Adamova 7.6.2007, 23:44
Вообще не используй почту. Сделай, дйствительно, передачу на FTP сервер, на HTTP. Или прямое соединение Клиент/сервер

Автор: TheX 7.6.2007, 23:46
А где мне этот ФТП сервак организовать? И каким образом ближе к конкретике?

Добавлено через 1 минуту и 8 секунд
И кстати, нужна ПРОСТОТА. Чтоб я не ехал туда или не рассказывал им, что надо чего-то там открыть (ФТП) и т.д.

Автор: Snowy 8.6.2007, 11:26
Ну тогда ещё вариант.
Написать маленький php скрипт, который будет получать файл и складывать в нужное место.
Можно даже на бесплатном хостинге.
Это будет работать везде, где есть http.

Автор: TheX 8.6.2007, 20:08
Snowy, нужно чтобы файлы с данными приходили прямо на сервер, где будут обрабатываться и заноситься в БД. Надо уйти от механизма приема данных, к-рый бы находился не на этом сервере.
p.s. Вы сказали мысль по поводу ФТП. Я немного разобрался. Прав ли я, что в этом случае можно полностью автоматически организовать скрытое пересылание файлов с данными на сервер и там же скрыто их принимать, обрабатывать и удалять, т.е. мне не надо ехать к ним на место для открытия ФТП? Мож я криво Вас понял?
Спасибо! smile 

Автор: Snowy 8.6.2007, 22:51
Можно. 
Но http будет лучше, т.к. он всегда открыт.
А кроме того, php скрипт может сразу складывать в базу, без сохранения в файл.
А вот ftp бывает закрыт. Не часто, но бывает.
Кроме того, при сохранении в файл, возникает проблема с определением момента окончания сохранения файла.
http + php скрипт тут выглядит наиболее оптимально.
Правда потебуются некоторые знания php...

Добавлено через 1 минуту и 29 секунд
Кстати, можно написать http или ftp сервер самому.
Тогда он сразу будет выполнять необходимые действия.

Автор: TheX 8.6.2007, 23:24
Snowy, склоняюсь пока к написанию своего ФТП сервера (виртуального как бы, правильно?). Куда копать?

Автор: Snowy 9.6.2007, 10:29
Копать в сторону TIdFTPServer.
Там есть всё необходимое.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)