Удаленная синхронизация каталогов C# - вопрос №266780
Добрый день, уважаемые эксперты! Я вот несколько дней мучаюсь с одним вопросом. Пишу клиент и сервер для удаленной файловой синхронизации на C#. Задача состоит в односторонней синхронизации файлов и папок: у клиента при регистрации создается папка, все изменения которой будут прямо отражаться на сервере. Собственно вопрос у меня в следующем: Как лучше организовать этот «движок»? Я себе это так представляю:В шарпе есть классFileSystemWatcher, с помощью которого клиент отслеживает изменения в файловой системе, и на основе создаваемых событий формирует команды для сервера: перекачать на сервер, переместить папку, создать папку ну и так далее. Команды перемещаю строками по SSL каналу в открытом виде, там парсером разбираю и организую реагирование. Пожалуйста подскажите, можно ли таким путем идти. Я в программировании, в частности в C#, недели три, занимаюсь весь день за вычетом сна (5ч), очень срочная работа :) Microsoft Sync Framework я пробовал, но он запутанный и даже стандартный пример на msdn выдает ошибку о незарегистрированном классе FileSystemProvider ( Да и вообще хотелось бы своими руками реализовать синхронизацию, ведь сто процентом все эти SDK собраны из более простых вещей :) Заранее спасибо!
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 практичсеки не возможно скрыть и защитить от реверса. но учитывая что ломается вообще все, и нормальная защита строится на клиент серверной архитектуре — это не критично )))
Добрый день. Меня заинтересовал ваш ответ "конкретизируйте вопрос пожалуйста1 — если Вам надо помоч в «рукопашной» реализации — уточните во что..." на вопрос http://www.liveexpert.org/topic/view/266780-udalennaya-sinhronizaciya-katalogov-c. Можно с вами обсудить этот ответ?