用于C ++的简单异步多线程HTTP请求库

时间:2008-12-05 04:29:03

标签: c++ multithreading asynchronous client-server

我会坦率地说:我正在尝试为在线游戏编写客户端/服务器。由于我很穷并且资源有限,我将使用PHP后端测试服务器的基本知识,最终目标是用C ++重建服务器端。

我正在寻找一个适用于Windows的C ++库(最好是XP和Vista),这将让我使用有限数量的线程,一个专用于每个网络问题的线程。作为一个例子,我想使用一个线程向服务器报告播放器的位置信息(并接收有关其他玩家的位置信息的响应),但我想在该区域的3D艺术作品中使用不同的线程进行背景下载/玩家,以及内置聊天系统的不同主题等等。这些都需要相互独立。

我知道我想用库实现做什么,我已经弄清楚设计位了,我觉得有点傻傻重新发明轮子,因为我知道一个好的库为了这个确切的目的可能已经存在。那么,你的建议是什么?我需要能够将数据发送到服务器,并接受响应。理想情况下,请求需要在完成时触发事件(因此我可以立即获取数据并对其执行某些操作),并且我需要能够同时处理多个事务。 HTTP是一个很好的奖励,但我可以在必要时自己处理HTTP协议,特别是考虑到我计划从长远来看放弃它。

谢谢!

5 个答案:

答案 0 :(得分:4)

Boost.Asio

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

Boost.Thread

答案 1 :(得分:2)

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

答案 2 :(得分:1)

查看Boost库,特别是Boost Threads

答案 3 :(得分:1)

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

答案 4 :(得分:-2)

您应该只使用cUrl多手柄。它设计得比你设计的更好。