Технологии

Решено

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

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

май 6, 2012 г.

  • Всего ответов: 1

  • Андрей FaceOff - аватарка

    Андрей FaceOff

    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 практичсеки не возможно скрыть и защитить от реверса. но учитывая что ломается вообще все, и нормальная защита строится на клиент серверной архитектуре — это не критично )))

    май 6, 2012 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы

Кадрирование видео

январь 2, 2014 г.

Технологии

Решено

Заполнение dataGridView данными из array

ноябрь 25, 2011 г.

Технологии