2010-09-21 2 views
1

Я понимаю, что доверенные приложения Silverlight могут взаимодействовать друг с другом через соединение LAN (одноранговое соединение). Могут ли они сделать это без подключения к Интернету после установки из браузера? Нужно ли им сначала загрузить какую-то политику доступа?Может ли Silverlight использовать ЛВС без подключения к Интернету?

Если нет, есть ли альтернативный способ сделать это, возможно, с помощью какой-либо вспомогательной службы на компьютере?

Могут ли они использовать аналогичные приемы для общения с локальными устройствами, отличными от Silverlight, например. может ли доверенное приложение Silverlight обратиться к приложению iPhone через локальную сеть?

ответ

1
System.Net.Sockets.UdpAnySourceMulticastClient 

Позволяет вам подключаться между несколькими приложениями Silverlight в той же локальной сети. Он не требует подключения к Интернету после установки приложения из браузера.

Я не понимаю, может ли это быть использовано для связи с приложениями, отличными от Silverlight althouh Я считаю, что, вероятно, это возможно, поскольку UDP Multicast является стандартным протоколом.

В ситуациях, когда сетевая инфраструктура старше, она может не поддерживать многоадресные адреса UDP. В этом случае лучшим решением было бы установить отдельный локальный сервер на один из клиентских компьютеров, к которым могли подключаться все приложения Silverlight (как только пользователь набрал IP-адрес).

+0

Вряд ли UdpMulticast получит много маршрутизаторов, однако, если все компьютеры находятся в одном сегменте локальной сети, вы можете быть в порядке. –

+0

Тестирование в моей домашней сети работало через два идентичных маршрутизатора Linksys и одну неуправляемую сеть swithch, хотя я согласен, что она вряд ли будет надежной в средах, в которых я меньше контролирую.Теперь я планирую использовать WPF вместо silverlight для большей части проекта, хотя некоторые клиенты смогут подключаться с помощью сокращенного приложения silverlight. – ForbesLindesay

0

Я не уверен, откуда вы получили информацию, но насколько я знаю, нет никаких встроенных способов для приложений Silverlight подключаться друг к другу одноранговым. Однако в локальной сети можно разместить простое серверное приложение, через которое могут взаимодействовать приложения Silverlight, работающие на разных узлах.

В Silverlight отсутствует сантехника, необходимая для создания одноранговых труб. Он имеет только средства для подключения к определенному порту TCP/IP или для прослушивания источников многоадресной UDP, он не может создать порт прослушивания, ожидающий соединения, или не генерирует вывод UDP.

+0

Глядя на Silverlight 4, он может генерировать вывод MultiCast UDP. Хотя я не уверен, что это идеально, потому что я не уверен, что здорово полагаться на сетевую инфраструктуру, поддерживающую UDP. – ForbesLindesay

0

Вы могли бы пойти этим путем вызова COM-объекты Silverlight, однако

Просто потому, что вы можете забить гвоздь с помощью отвертки, не делает водителю винт лучший инструмент для работы ,

Посмотрите на использование WPF, чтобы получить полную инфраструктуру .net.

+0

Правда, хотя сеть - крошечная часть гораздо большего приложения. Я хотел бы иметь возможность сделать все остальные функции доступными без установки или кросс-платформенного (mac/linux). Я также смотрю на систему, которая может быть «установлена» на многих компьютерах в течение дня, а затем удалена на следующий день. Silverlight предлагает очень быстрый и простой способ установки и снятия установки для компьютеров в сети. – ForbesLindesay