В настоящее время мы начинаем создавать клиент-серверную систему, в которой 10 или более клиентских устройств Apple iPad будут подключаться к центральному серверу Windows через беспроводную локальную сеть.
Мы хотели использовать некоторые существующие сантехнические системы (.NET remoting / WCF / веб-службы / и т. Д.), Которые позволили бы нам реализовать надежное и безопасное решение без необходимости запуска с низкого уровня (например, сокетов) и воссоздания колеса.
Одним из основных требований, усложняющих этот сценарий, является то, что в отличие от традиционной веб-службы, сервер Windows должен иметь возможность произвольно уведомлять клиентов при возникновении определенных событий - поэтому это не простой сценарий запроса / ответа, подобный веб.
Изначально мы собирались использовать клиенты Windows, поэтому мы планировали использовать полнодуплексный режим .NET WCF через HTTP | TCP. Но теперь, используя iPad, у нас нет инфраструктуры WCF.
Итак, мой вопрос: как лучше всего разрешить iPad и серверу Windows (безопасно) обмениваться данными через локальную сеть, при этом каждое устройство может инициировать связь с другим? Должно ли это включать услуги Bonjour?
Я застрял при написании низкоуровневого кода сокета? Спасибо!