C# 对等网络应用程序的网络发现

C# 对等网络应用程序的网络发现,c#,visual-studio-2008,networking,udp,broadcast,C#,Visual Studio 2008,Networking,Udp,Broadcast,我希望有两个类,一个服务器类和一个客户端类。服务器类应该接收每个新客户端的IP地址和端口号,并将它们存储在列表中。它应该为每个客户端提供一个已连接客户端及其IP地址的列表。然后,客户端可以使用TCP连接相互通信 问题是客户端不知道服务器的IP地址是什么。但是,整个程序将在局域网上运行。我的猜测是,它需要某种UDP广播,但每次我尝试实现它时,它都不起作用,除非程序的两个实例在同一台计算机上运行 该应用程序将由计算机知识有限的客户安装,因此它应该只是在所有计算机上安装程序并插入网络的一种情况 如果有

我希望有两个类,一个服务器类和一个客户端类。服务器类应该接收每个新客户端的IP地址和端口号,并将它们存储在列表中。它应该为每个客户端提供一个已连接客户端及其IP地址的列表。然后,客户端可以使用TCP连接相互通信

问题是客户端不知道服务器的IP地址是什么。但是,整个程序将在局域网上运行。我的猜测是,它需要某种UDP广播,但每次我尝试实现它时,它都不起作用,除非程序的两个实例在同一台计算机上运行

该应用程序将由计算机知识有限的客户安装,因此它应该只是在所有计算机上安装程序并插入网络的一种情况


如果有人能使用C#.net 3.5或更早版本可靠、清晰地实现此功能,我们将不胜感激。

不确定这是否会对您有所帮助-

您可能想使用,也可能不想使用,但源代码可用,并且它会进行udp广播,以便您进行服务器查找。

,它可能会做一些我想做的事情,我唯一的问题是,这篇文章建议,这些东西中的许多只能在windows Vistat中工作。这是迄今为止我所做的最好的,我真的不喜欢它作为一个解决方案,因为它要求用户显式单击以接受,我更希望这可以在我的应用程序内部处理,而不是由windows的“我身边的人”应用程序处理。另外,当两台计算机的应用程序都已打开并运行时,我正在努力使其有效工作。这似乎工作得很好,添加了对等示例中的源代码,并使用peer.DiscoverLocalPeers查找并连接到局域网上的计算机。