【发布时间】:2015-05-01 17:28:33
【问题描述】:
给反对者的信息:请阅读这个问题,我正在开发一个小型嵌入式设备。如果您不熟悉此类设备的局限性,请转到另一个问题而不是投反对票!!!!
我正在使用内存有限的小型嵌入式设备,我需要从该设备向服务器发送一个大文件。因此,我不能轻松使用 HTTP POST,这需要我在发送之前将整个文件加载到内存中。
嵌入式设备具有 UDP 和 TCP 套接字,但例如发送 HTTP POST,我需要创建一个包含 HTTP HEADERS 和数据的字符串。由于设备没有 HTTP 协议或其他可用作 API 的协议。
有人可以推荐一种协议,我可以使用它来执行“流式传输”或将数据部分发送到服务器的过程吗?
该协议需要相对简单并且不占用太多内存资源,如果您知道为小型嵌入式设备设计的库,那也很好。该协议还应该易于在接收服务器上实现,最好运行 .Net
【问题讨论】:
-
HTTP POST 不要求您在发送前将整个文件加载到内存中。
-
正如我的问题中所述,我需要从头开始创建 HTTP POST 数据包,因为我使用的是没有实现 HTTP 协议的小型嵌入式设备。当然,您是对的,但您可能在谈论如何在强大的操作系统上使用它,该操作系统具有可处理所有这些的 API。我正在使用原始 C 进行编码,其 RTOS 不提供此类功能。
-
什么也没解释。您仍然不必将整个文件加载到内存中,如果这是您对使用 HTTP POST 的唯一反对意见,那么问题就解决了。您也可以使用 HTTP PUT。对试图帮助你的人无礼不是一个理性的策略。
-
EJP,感谢您为回答我的问题所做的努力。但正如我的问题所述,我只有 TCP 可用....对于协议堆栈上高于此的任何内容,我必须创建我自己。也许我误解了你,你实际上有一个解决方案,如果是这样,那么请你给我解释一下我需要做什么?我正在使用 ANSI C 进行编码,并且有一个 TCP 套接字……我该去哪里?
-
我对你有多粗鲁?我对你的回复很有礼貌。至于否决的选民,他们并没有试图提供帮助,他们只是投反对票并继续前进。如果他们想提供帮助,他们会提出一个问题以便更好地理解。
标签: sockets tcp protocols network-protocols