我的公司正计划实现一个远程编程工具,用于现场配置嵌入式设备。我假设这些设备上有一个HTTP客户端,并计划实现一些REST服务以供它们访问。不幸的是,我发现他们有一个TCP堆栈,但没有HTTP客户端。我的一位同事建议我们尝试在没有HTTP客户端的情况下通过端口80发送“soap数据包”。这些设备也没有任何SOAP客户端。这个是可能的吗?如果设备所连接的网络上运行有web服务器,是否会产生影响?我非常感谢任何关于如何实现这样的东西的建议或最佳实践。
发布于 2009-09-15 08:51:34
如果您的服务器提供的是简单文件,那么嵌入式设备实际上只需要发送一个HTTP GET request (可能带有一些额外的数据来标识设备,这样服务器就可以知道要发送哪个固件版本)。
从这里开始,读取来自嵌入式设备套接字的原始数据就非常简单了--您可能只需要忽略响应中的HTTP头,也可以将服务器配置为不为这些请求发送它。
发布于 2009-09-15 08:49:38
您实际上并不需要HTTP客户端本身。HTTP是一种非常简单的基于文本的协议,如果需要,您可以自己实现。
也就是说,您可能不需要自己实现它。如果他们有一个TCP栈和一个标准的套接字库,您可能会找到一个简单的C库(比如this one),它为您包装了HTTP或SOAP功能。然后,您可以将该库构建到您的应用程序中。
发布于 2009-09-15 08:51:11
基本HTTP协议并不是一个很难手工实现的协议。它是一个基于文本和行的协议,除了有效负载之外,服务器与“原始的、火腿握紧的”客户端工作得很好,这是一个简单的客户端所需要的。
如果你可以只使用一个子集,那么只需简单地编写它就可以了。
https://stackoverflow.com/questions/1428284
复制