Проблема совместимости .NET - PullRequest
0 голосов
/ 30 июля 2010

Прежде всего, это дополнительный вопрос к Должен ли я использовать WCF или необработанные сокеты? .Спасибо всем, кто откликнулся, это мне очень помогло!

В последнее время некоторые мои требования изменились.Возникшее препятствие main заключается в том, что теперь я должен поддерживать клиенты Linux в дополнение к Windows.Я должен использовать .NET на стороне сервера в качестве требования.Мне также нужно поддерживать постоянные связи с клиентами (или опрос).Я хотел бы запросить обратную связь от сообщества по следующим параметрам:

  1. Использовать более простую версию модели pub-sub.У меня есть веб-сервис на сервере, который клиенты постоянно опрашивают (я предварительно упаковываю скрипты / двоичные файлы, которые мне нужны для запуска на клиенте, и выдаю команды с сервера через сервис).Сервер ставит задачи для клиентов в очередь, а клиенты их забирают.Эта модель становится очень интероперабельной, поскольку я могу написать клиент на любой платформе.Кроме того, мне не нужно беспокоиться о брандмауэрах на стороне клиента из-за http.Тем не менее, я обеспокоен опросом (возможно, мне придется опрашивать каждые несколько секунд для тысяч клиентов).Я читал о Comet, но, к сожалению, кажется, что для его реализации в C # требуется немало усилий.

  2. Используйте обычные сокеты, создайте постоянное соединение с клиентами и используйте эти каналы.Здесь я обеспокоен постоянными соединениями (они нужны мне для управления клиентом, они находятся за NAT).Обычно я видел людей, создающих поток для каждого соединения, который я считаю не масштабируемым.Я прав?Является ли асинхронные вызовы / сокеты лучшим выбором?

Будем благодарны за любые комментарии.

1 Ответ

0 голосов
/ 30 июля 2010

Использование стандартных сокетов для связи будет переносимым между различными ОС. Обычные tcp розетки - очень зрелая технология. Вы также можете использовать веб-сервисы (http), которые расположены поверх сокетов. Веб-сервисы более практичны при работе в Интернете (проблемы с брандмауэром и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...