我正在写信给你,因为我需要解决一个新问题,而且我现在已经把头撞到墙上太久了。
基本上,我需要创建一个可以处理以下内容的应用程序:
用户启动应用程序,该应用程序向子网发送广播,并使用其IP(以及一些其他信息)接收所有服务器的响应。然后,用户可以选择他想要连接的服务器。
让它工作很简单,识别子网,用UDP广播,然后让不同的服务器应用程序接收它并发回响应。问题在于我需要考虑的这些限制:
我不知道我是否对自己施加了太多限制,但我真的希望我可以满足这些要求。
我有一些想法 - 我只需要弄清楚如何做到这一点:
我知道这很多,但我真的希望你能够帮助我。
如果我不够清楚,或者您需要进一步解释,请告诉我。
我在C#.Net中编码,我可以利用.Net框架中的所有内容。一旦我实现了这个功能
一切顺利
/ Sagi
答案 0 :(得分:1)
如果将一台计算机指定为主服务器,那么点对点网络问题就变得简单到了微不足道的程度。它应该有一个众所周知的名称,所有子服务器都可以连接到它们,以便它们可以发布(和撤销)它们的可用性。然后,客户端可以向同一服务器发送查询请求,并获得已知服务器的列表。
这也可以解决您的防火墙问题,主服务器可能正在侦听端口80。
查看System.Net.PeerToPeer命名空间,了解框架支持的p2p解决方案。
答案 1 :(得分:0)
也许UPnP服务器和客户端可能是您问题的解决方案?