【发布时间】:2012-01-02 00:37:20
【问题描述】:
我正在寻找有关通过端口 80 从远程 GPRS 设备发送/接收数据的最佳方式的建议。
在随机端口上创建普通 TCP 套接字可以正常工作,但许多运营商只允许端口 80 HTTP 流量通过其代理,然后期望 HTTP ascii 数据(他们可以根据需要修改其标头。
那么,我的设备是否应该在持久 http 连接上创建 POST 请求,然后从 Web 服务接收 base64 编码响应?我不确定当涉及二进制数据时移动代理的行为如何。有推荐的方法吗?
我可以同时调整设备的固件和服务器端应用程序。
[编辑]
我想知道是否有一种标准(或多或少)方法可以做到这一点。对于各种数据记录和工业系统,需要通过套接字连接发送大量二进制数据。对于以太网连接,通常只涉及调整某些防火墙的问题,但持久的二进制连接在任意端口上建立起来没有问题。
然而,移动 ISP 倾向于将其“数据计划”仅限于端口 80。他们还冒昧地弄乱了 HTTP 标头,可能还有 HTML 数据本身。这就是我需要找出潜在的陷阱和规避它们的方法的地方。
- 仅发送 base64 编码数据是否有效?
- 如何处理 HTTP 会话?任意套接字可以长时间保持活动状态,但 HTTP 动词通常是短暂的。这是否意味着我需要为每个数据包创建一个新连接?或者有没有办法通过单个连接分块发送服务器响应?
- ISP 代理会以何种方式混淆数据或标头?例如,代理有时可以保持连接处于活动状态,即使服务器关闭它也是如此。
【问题讨论】:
标签: http proxy binary-data