我正在用 C# 开发一个多客户端/多服务器程序,在深入了解细节之前,我想知道是否有人从事过类似的项目,并且可能能够分享他们的实施技巧/想法。
- 服务器将位于许多 PC 上,并监听来自客户端的传入连接(或者服务器应该广播,客户端监听?)。
- 当客户端启动时,它应该自动填充潜在服务器 IP 地址的列表。
- 当服务器关闭时,客户端应该从它的列表中删除该服务器。
- 当新服务器启动时,应通知客户端并将其添加到他们的列表中。
- 服务器也可以充当客户端,并且应该能够看到自己以及所有其他服务器。
- 从客户端发送到服务器的消息会影响服务器,应该将更改广播到所有连接的客户端。
- 我的服务器应该是 Windows 服务吗?这有什么优点/缺点?
关于我如何开始这方面的任何想法?我一直在研究 UDP 多播和 LAN 扫描。我正在使用 C# 和 .NET 4.0
编辑:找到这个:http ://code.google.com/p/lidgren-network-gen3/有没有人有任何经验并且可以推荐/不推荐它?