在LAN中共享数据

时间:2009-10-19 22:22:13

标签: c# networking sharing lan

我正在构建一个音乐库程序,我希望能够在局域网中共享库。我怎样才能发现分享图书馆的其他人?我想在不输入IP和内容的情况下找到其他人的图书馆。

4 个答案:

答案 0 :(得分:3)

Apple使用mdns(他们称之为Bonjour)来广播和发现本地网络上的音乐共享,而无需任何用户配置。

许多其他制造商也为此实施UPnP/AV

答案 1 :(得分:1)

可能最简单的方法是使用UDP定期向broadcast address发送一条消息(包含一些宣传您图书馆存在的信息)。这将由您子网上的所有主机接收(可能还会进一步,具体取决于您的路由器配置)。如果您的应用程序侦听来自其他主机的这些消息,它将随着时间的推移找到子网上应用程序的所有其他实例。

编辑:找到了this question,其答案更详细地说明了我所说的内容。

答案 2 :(得分:1)

SNMP

此协议专为您的目标而设计。 您可以使用几个实现SNMP的库,这样可以方便地发送和接收。

答案 3 :(得分:0)

您可以让您的应用程序将库共享的事实发送到中央服务器 - 实际上只是发送位置。

然后,您的应用程序的其他实例可以向服务器询问共享库列表。

这样做的好处是您的应用程序不会持续广播。

缺点是你需要一个中央服务器。