【发布时间】:2013-02-14 19:19:09
【问题描述】:
我有一个客户端/服务器设置,可以使用 boost 的 asio 套接字相互通信。该协议很简单,它以一个 64 位值开始,告诉后面的数据有多长,其余的以 JSON 形式出现。
问题是,它不支持客户端和服务器之间的代理,现在我们需要支持它。
正如我在网上看到的,看起来代理一般都非常简单。对于 HTTP 代理,您可以联系代理并向其发送 CONNECT 请求以获得您想要的实际 URL,然后它就会继续传递信息。
但我不明白如何将其与我的非 HTTP 数据相协调。
-
我是否需要更改我的“协议”以使其与代理一起使用 服务器?我看到了这个建议:
CONNECT http://my.server.com:80 HTTP/1.0\r\n\r\n但是我的非协议怎么办?
我试过告诉它我正在使用 HTTP,然后发送 接下来是 JSON 数据,但遇到了一系列问题, 我不知道问题是否只是我的问题 实施,或者如果我试图做的事情根本行不通。
如果我完全不在这儿,我很想被理顺。
【问题讨论】:
-
如果您编写第三个守护程序,它对我来说似乎最简单,它会说出您的协议并充当客户端和服务器。
标签: c++ sockets networking proxy boost-asio