【问题标题】:Simple Asynchronous Multi-Threaded HTTP request library for C++ [closed]用于 C++ 的简单异步多线程 HTTP 请求库 [关闭]
【发布时间】:2010-09-25 11:14:50
【问题描述】:

我会快速诚实:我目前正在尝试为在线游戏编写客户端/服务器。由于我很穷且资源有限,我将使用 PHP 后端测试服务器的基本基础,最终目标是用 C++ 重建服务器端。

我正在寻找一个用于 Windows(最好是 XP 和 Vista)的 C++ 库,它可以让我使用有限数量的线程,一个专用于网络问题的每个部分。例如,我想使用一个线程将玩家的位置信息报告给服务器(并接收有关其他玩家位置信息的响应),但我想要一个不同的线程来后台下载该区域的 3D 艺术品/players,以及用于内置聊天系统的不同线程等。这些都需要彼此相当独立。

我知道我想用这个库做什么,我已经弄清楚了设计,我只是觉得重新发明轮子有点傻,因为我知道一个好的库出于这个确切目的可能已经存在。那么,您有什么建议呢?我需要能够将数据发送到服务器并接受响应。理想情况下,请求完成后需要触发一个事件(这样我就可以立即获取数据并对其进行处理),并且我需要能够同时处理多个事务。 HTTP 是一个不错的奖励,但如果需要,我可以自己处理 HTTP 协议,特别是考虑到我打算从长远来看放弃它。

谢谢!

【问题讨论】:

    标签: c++ multithreading asynchronous client-server


    【解决方案1】:

    Boost.Asio

    ASIO 有简单的 Web 服务器示例。

    Boost.Thread

    【讨论】:

    • 使用 curl 会更简单。
    【解决方案2】:

    您可以尝试POCO 库。它有一个多线程 TCP 服务器和一个 HTTPserver。

    【讨论】:

      【解决方案3】:

      查看 Boost 库,尤其是 Boost Threads

      【讨论】:

      • Boost 最近似乎出现了很多。好吧,是时候尝试一个大实验了。 (好在项目刚刚开始,现在很容易做到。)耶!
      【解决方案4】:

      你可以试试我的CSocksetServer 课程。它可以在单独的线程中处理许多连接,并为您提供许多不同的事件。虽然它没有原生 HTTP 功能,但我已经用它构建了 Web 服务器。

      【讨论】:

        【解决方案5】:

        您应该只使用带有多句柄的cUrl。它比你设计的任何东西都更适合做你想做的事。

        【讨论】:

          猜你喜欢
          • 2014-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-10
          相关资源
          最近更新 更多