【发布时间】:2011-11-19 10:42:00
【问题描述】:
首先,我想我需要说我还在学习 C++,如果这非常明显/简单,我深表歉意。
我正在尝试在我的 C++ 程序中使用 libevent 库(通过尝试查看示例文件夹中的代码并测试了一些)来使用 http 流。我想知道是否有人可以为我提供一个示例,说明我将如何连接到 URL,例如live.domain.com,发送适当的标头,读取返回的数据并通过同一连接发送回数据...... 我不确定 libevent 是否有任何阻塞连接,但为了明确起见,我正在寻找非阻塞示例。
我为什么要这样做?
我正在使用一个 API,它要求您打开一个连接并保持连接,除非出现错误。它会定期向连接的客户端发送状态文本,直到它通过同一连接接收到带有 ID 的字符串。此时它开始发回有关给定 ID 的数据...我不完全确定在初始请求严格符合之后通过同一连接发回数据,但这正是服务器所期望的,所以它会工作...如果我知道怎么做
提前致谢
【问题讨论】:
-
我不确定您所说的“通过同一连接发回数据”是什么意思。你的意思是通过同一个连接发送第二个 HTTP 请求,还是这会变成一些奇怪的非 HTTP 协议中游?
-
它期望一个 json 字符串被发送回中途以订阅一个 ID 的消息。您可以在连接打开时随时将多个 ID 作为单独的字符串发送。基本上只有初始请求应该遵循 HTTP(从某种意义上说,您发送标头和新行分隔符来标记请求的结束)任何后续消息几乎与您在程序之间打开原始套接字和在它们之间发送任意字符串...
标签: c++ sockets asynchronous libevent http-streaming