Удаленная синхронизация каталогов C# - вопрос №266780

Добрый день, уважаемые эксперты! Я вот несколько дней мучаюсь с одним вопросом. Пишу клиент и сервер для удаленной файловой синхронизации на C#. Задача состоит в односторонней синхронизации файлов и папок: у клиента при регистрации создается папка, все изменения которой будут прямо отражаться на сервере. Собственно вопрос у меня в следующем: Как лучше организовать этот «движок»? Я себе это так представляю:В шарпе есть классFileSystemWatcher, с помощью которого клиент отслеживает изменения в файловой системе, и на основе создаваемых событий формирует команды для сервера: перекачать на сервер, переместить папку, создать папку ну и так далее. Команды перемещаю строками по SSL каналу в открытом виде, там парсером разбираю и организую реагирование. Пожалуйста подскажите, можно ли таким путем идти. Я в программировании, в частности в C#, недели три, занимаюсь весь день за вычетом сна (5ч), очень срочная работа :) Microsoft Sync Framework я пробовал, но он запутанный и даже стандартный пример на msdn выдает ошибку о незарегистрированном классе FileSystemProvider ( Да и вообще хотелось бы своими руками реализовать синхронизацию, ведь сто процентом все эти SDK собраны из более простых вещей :) Заранее спасибо!

06.05.12
1 ответ

Лучший ответ по мнению автора

конкретизируйте вопрос пожалуйста

1 — если Вам надо помоч в «рукопашной» реализации — уточните во что уперлись конкретно

2 — если Вам нужно разработать целиком такую схему (рукопашный вариант) и провести ликбез по каждому шагу — милости прошу в чат, но готовтесь оплачивать (не дорого)

3 — если проконсультировать по sync framework — тогда тоже по пунктикам

вообще у разработчиков есть такое выражение «избретать велосипеды» — это как раз тот случай

с одной стороны «рукопашная» разработка очень полезна в качестве учебного упражнения

с другой стороны ее ценность как правило только в понимании приемов программирования вообще, а главное осознания как это здорово когда есть готовые решения )))

ps — посмотрел Вашу историю вопросов и ответ эксперта где он сранивал qt и .net

самое главное преимущество .net — это высоко развитая инфраструктура, средства разработки (в тои числе свободные), огромная база знаний, форумы разработчиков, еще важнее огромное количество библиотек!!! и как это не покажется странным, в том числе и библиотек с открытым кодом и свободными лицензиями

критика со стороны разработчиков на других средствах, как правило основана на очень плохой осведомленности

в частности на тему производительности сломано много копий, но призводительность оптимизированного кода на C# достаточно высока. в частности во многих задачах опережает очень популярную java и безоговорочно значительно выше очень популярного python )))

pps — еще пара штрихов о .net — это когда говорят о кроссплатформенности иных средств разработки. у нас самые распространенные пользовательские платформы — windows, linux, mac os

windows родная, для linux и (сюрпрайз!) для mac os тоже — mono

а что у нас с серверной частью? тут все тоже самое, минус mac os

и того — тезис о об отсутствии кросс платформенности .net высосан из пальца )))

ну и на конец логический уровень библиотек для .net — очень высокий, скорость разработки для хорошего специалиста, на платформе .net потенциально самая высокая вообще в индустрии

единственный практически непреодолимый и иногда существенный минус — код на .net практичсеки не возможно скрыть и защитить от реверса. но учитывая что ломается вообще все, и нормальная защита строится на клиент серверной архитектуре — это не критично )))

06.05.12
Лучший ответ по мнению автора
Посмотреть всех экспертов из раздела Технологии > .Net/C#
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store