【问题标题】:Open Source & Cross Platform Multiplayer/Networking Libraries? [closed]开源和跨平台多人游戏/网络库? [关闭]
【发布时间】:2009-03-14 15:38:24
【问题描述】:

虽然raknet 看起来相当有趣并且从功能的角度来看确实很吸引人,但它的licensing terms 似乎对于可能在商业上利用的 GPL 项目来说可能很麻烦,这是明确禁止的知识共享许可。

虽然还有opentnl,但它现在似乎不再被积极维护,事实上下载最新的稳定压缩包甚至在编译过程中也会失败,因为它似乎不支持 gcc >= 3.0 (?)

当然还有enet,不过这个真的不能和raknet/opentnl所支持的抽象特性相比。

那么,除了诸如 ACE、Boost 或 Poco 之类的重要依赖项之外,是否有任何可行的替代方案来嵌入一个相当紧凑、维护良好的 UDP 网络库?

谢谢

【问题讨论】:

    标签: c++ open-source network-programming udp


    【解决方案1】:

    wiki of Ogre3D 提供了网络库列表及其简短描述。

    【讨论】:

      【解决方案2】:

      虽然这个答案来晚了,但我在我的游戏中使用 OpenTNL,Bitfighter,我真的很喜欢它。我在 OS X、Windows 和 Linux 上使用它没有任何障碍。确实,它不是由它的创建者维护的,但是当我有时间时,我将为它创建一个新的 SourceForge 项目,这样人们就有地方发布他们的补丁了。它很稳定并且(相当)有据可查,所以我建议再看看它。

      【讨论】:

        【解决方案3】:

        我一直在寻找非常相似的东西,但无济于事。因此,我决定创建自己的 C++ 网络库,在撰写本文时它还没有完成,但很快就会完成。如果您有兴趣尝试一下,我会及时通知您。到目前为止,它的功能是 TCP/UDP、IPv4、IPv6 Async/Sync 和多播。如果您有任何其他需要实现的功能,请告诉我:)

        【讨论】:

          【解决方案4】:

          不幸的是,网络编程往往是不平凡的。

          表示建议您熟悉 Boost 或 ACE 的网络编程工具,因为两者都是已在许多应用程序中成功使用的成熟库。

          我还建议阅读C++ Network Programming: Mastering Complexity Using ACE and PatternsC++ Network Programming: Systematic Reuse with ACE and Frameworks

          【讨论】:

          • 谢谢,我主要指的是这些依赖关系特别重要,而不是任务本身。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-13
          • 1970-01-01
          相关资源
          最近更新 更多