我正在使用.Net v2开发在线策略游戏.虽然游戏主要是战略性的,但它确实有一些需要合理网络性能的战术元素.我打算将TCP数据包用于战略数据,将UDP数据包用于战术数据.
{编辑}我忘了提到我偏离WCF和.NET 3有几个原因.首先,因为我想保持我的下载量小,我的大多数客户已经拥有.NET 2.0.其次,因为我希望能够选择移植到Mac和Linux,并且不确定Mono中的WCF可用性. {/编辑}
我正在寻找网络库的建议.我找到了一些选项,例如GarageGames的扭矩网络库(C),RakNet(C)和lidgren网络库(C#):
http://www.opentnl.org/
http://www.jenkinssoftware.com/
http://code.google.com/p/lidgren-network/
有没有人对这些或其他图书馆有实际经验?
我只是偶然发现了RakNetDotNet:
http://code.google.com/p/raknetdotnet/
这可能是我正在寻找的……
解决方法
为什么要限制自己使用.NET 2.0. .NET 3.0(或3.5)包含WCF,是一个具有良好安全性的可靠,高性能的通信子系统. .NET 3.0只是带有附加库(WCF,WF,WPF)的.NET 2.0.