qwerttt 发表于 2023-5-22 11:39:44

使用W5500通过http接收大图片数据,是否可以控制http分包

使用W5500,通过http协议连接海康摄像机抓拍图片,然后摄像机开始下发图片

W5500是客户端,摄像机是服务器端

发现摄像机http下发图片太快,每十几毫秒下发一包数据,而且每包数据量太大每包8KB

有没什么方法可以控制http的分包大小

wye11083 发表于 2023-5-22 13:38:04

TCP协议有WND参数,你找找能不能改。来不及读的话需要把WND设置为0,这样TCP就会暂停传输。

三年模拟 发表于 2023-5-22 13:59:23

5500跑这个大数据量的容易出问题,稳妥点还是跑linux带大ddr的

EMC菜鸟 发表于 2023-5-22 14:17:09

可以肯定是可以的,tcp本身就有解决快速设备和慢速设备之间互联的办法,具体怎么做需要查tcp协议

albert_w 发表于 2023-5-22 19:07:04

窗口小点儿,关键你要关闭8k巨帧

刘志勇 发表于 2023-5-22 20:34:30

可以考虑HTTP请求里面添加范围(例如这次我只要1024字节,举个例子哈)。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
An HTTP range request asks the server to send only a portion of an HTTP message back to a client

qwerttt 发表于 2023-5-23 08:39:01

刘志勇 发表于 2023-5-22 20:34
可以考虑HTTP请求里面添加范围(例如这次我只要1024字节,举个例子哈)。

https://developer.mozilla.org/ ...
(引用自6楼)

这个好
我研究下

zqf441775525 发表于 2023-5-23 10:42:35

之前遇到过这种情况,一次接收大约4K多点的数据包,由于TCP的粘包的原因,大概率接收不成功,最后使用环形队列搞定的。
但是你这个十几毫秒8K的数据量,算下来将近4Mb/s的速度了,对于W5500来说不算小了。

leafstamen 发表于 2023-5-23 10:57:45

你不读出来,对端就发不过来了。

modbus 发表于 2023-5-23 12:59:29

记得TCP协议对数据量有自动协商功能
页: [1]
查看完整版本: 使用W5500通过http接收大图片数据,是否可以控制http分包