2010-09-21 63 views
1

我知道可信任的silverlight应用程序可以通过局域网连接(点对点)相互通信。一旦安装了浏览器,他们可以在没有互联网连接的情况下进行此操他们是否需要先下载某种访问策略?Silverlight可以在没有互联网连接的情况下使用LAN吗?

如果没有,是否有一些替代的方法来做到这一点,或许在计算机上使用某种辅助服务?

他们可以使用类似的技术与本地非Silverlight设备通话吗?一个可信的Silverlight应用程序可以通过局域网与iPhone应用程序通话吗?

回答

1
System.Net.Sockets.UdpAnySourceMulticastClient 

允许您在同一局域网上的多个Silverlight应用程序之间进行连接。在应用程序安装在浏览器之外后,它不需要任何互联网连接。

我不清楚这是否可以用于与非Silverlight应用程序通信,但我相信这可能是因为UDP多播是一种标准协议。

在网络基础架构较旧的情况下,它可能不支持UDP多播地址。在这种情况下,最好的解决方案是在客户机的一个上安装一个单独的本地服务器,所有其他silverlight应用程序可以连接到该服务器(一旦用户键入IP地址)。

+0

UdpMulticast不太可能会通过许多路由器,但是如果所有机器都在局域网的同一个网段上,那么您可能就没问题了。 – 2010-09-22 08:07:54

+0

我的家庭网络上的测试通过两台Linksys路由器和一个非托管网络开关进行,尽管我同意在我无法控制的环境中它不可靠。我现在计划使用WPF而不是Silverlight作为项目的大部分,尽管有些客户端可以使用Silverlight应用程序进行连接。 – ForbesLindesay 2010-09-24 13:22:26

0

我不确定你从哪里获得信息,但据我所知,Silverlight应用程序无法通过点对点连接彼此。但是,可以在局域网上放置一个简单的服务器应用程序,通过它,不同节点上运行的Silverlight应用程序可以进行通信

Silverlight缺少创建点对点管道所需的管道。它只能连接到特定的TCP/IP端口或侦听多播UDP源,因此无法创建等待连接或生成UDP输出的侦听端口。

+0

看看Silverlight 4,它可以生成MultiCast UDP输出。虽然我不确定这是否理想,因为我不确定依靠支持UDP的网络基础设施是否很好。 – ForbesLindesay 2010-09-21 23:34:40

0

你可以通过调用Silverlight的COM对象去这一点,但是

仅仅因为你可以在指甲 用螺丝刀锤,不会使 螺丝刀的 工作的最佳工具。

查看使用WPF,以便获得完整的.net框架。

+0

虽然网络是一个更大的应用程序的一小部分,但的确如此。我希望能够在没有安装或跨平台(mac/linux)的情况下使所有其他功能可用。我也在研究一种系统,可以在一天内在多台计算机上“安装”,然后在第二天移除。 Silverlight为网络中的计算机提供了一种安装和卸载的快速简便方法。 – ForbesLindesay 2010-09-21 23:36:50

相关问题