C#游戏网络库我正在使用.Netv2开发一款在线策略游戏。虽然游戏主要是战略性的,但它确实有一些需要合理网络性能的战术元素。我打算将TCP数据包用于战略数据,将UDP数据包用于战术数据。{EDIT}我忘了提及我偏离WCF和.NET3+的原因有几个。首先,因为我想保持下载量小,所以我的大多数客户都已经安装了.NET2.0。其次,因为我想选择移植到Mac和Linux,并且不确定WCF在Mono中的可用性。{/EDIT}我正在寻找网络库建议。我找到了一些选项,例如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/这可能就是我要找的东西……为什么要限制自己使用.NET2.0。.NET3.0(或3.5)包括WCF,这是一个可靠的高性能通信子系统,具有良好的安全性。.NET3.0只是带有附加库(WCF、WF、WPF)的.NET2.0。Microsoft自己的基于.NET的XNA允许您在Windows和XBox上创建网络游戏360。http://code.google.com/p/lidgren-network-gen3/Lidgren.Network是.net框架的网络库,它使用单个udp套接字提供简单的API,用于将客户端连接到服务器、读取和发送信息。我还要注意“Windows游戏”,XNA在Windows上使用Live!网络API现在是免费的...这意味着如果您编写一个使用网络功能的XNA游戏,您的用户不必拥有金牌会员资格:-)http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/虽然这个问题相当陈旧,但专用于游戏开发的更高级别系统是APlay-在支持的平台中也是C#。有一个评估版,供个人免费使用。您在UML中定义您的游戏对象,在线代码生成器创建包含您的游戏对象的程序集。然后发送状态更新就像调用setter方法一样简单。如果你想自己处理套接字,那是不对的。另请注意,我是APlay的开发人员,因此这是一个有偏见的答案。如果您是游戏开发的新手,我推荐XNA-它很容易编程。然而,Torque的优势在于它拥有资产创建工具,这也是无价之宝。对于更高端的游戏或FPS,Source引擎非常棒。如果您正在寻找更高级别的东西,可以看看Entanglar(http://entanglar.dunnchurchill.com)。Entanglar提供完整的实体生命周期和同步。一个老问题,但我会把它放在那里让其他人偶然发现这个问题。我们正在为我们的游戏Bitfighter使用OpenTNL,我对它的工作方式感到惊讶。如果您可以接受GPL,那么它是免费的。以上是《C#学习教程:C#游戏网库》分享的全部内容。如果对你有用,需要进一步了解《C#学习教程》,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
