Я считаю, что вы ищете способ отслеживать, когда файлы изменяются.Затем вы можете просто загрузить измененный файл через FTP, как вы упомянули.Если это так, ответ заключается в том, чтобы связать события Windows Folder и File.Вот хорошая статья о том, как это сделать:
http://www.codeproject.com/KB/files/MonitorFolderActivity.aspx
Код, необходимый для FTP файла, можно найти здесь:
http://msdn.microsoft.com/en-us/library/ms229715.aspx
Все это предполагает, что вы собираетесь использовать C #.Если вы собираетесь использовать другой язык, вам нужно будет выполнять одни и те же базовые действия одним и тем же основным способом, но синтаксис будет другим.
Для начала это все, что вам нужно.Вы смотрите папку на предмет изменений любого из файлов.Когда вы видите изменение, вы загружаете измененный файл через FTP (если это ваш желаемый метод веб-транспорта) в удаленное местоположение.Конечно, вы должны сделать обратное для других клиентов.Им нужно будет подписаться на события на вашем сервере, которые сказали им загружать последние версии измененных файлов.Наконец, вам нужно будет применить свою собственную бизнес-логику для таких вещей, как то, как часто вы хотите, чтобы происходили загрузки, если вы хотите, чтобы для изменений было включено ведение журнала, если вы собираетесь делать версионирование файлов и т. Д.