使用W5500通过http接收大图片数据,是否可以控制http分包
使用W5500,通过http协议连接海康摄像机抓拍图片,然后摄像机开始下发图片W5500是客户端,摄像机是服务器端
发现摄像机http下发图片太快,每十几毫秒下发一包数据,而且每包数据量太大每包8KB
有没什么方法可以控制http的分包大小
TCP协议有WND参数,你找找能不能改。来不及读的话需要把WND设置为0,这样TCP就会暂停传输。 5500跑这个大数据量的容易出问题,稳妥点还是跑linux带大ddr的 可以肯定是可以的,tcp本身就有解决快速设备和慢速设备之间互联的办法,具体怎么做需要查tcp协议 窗口小点儿,关键你要关闭8k巨帧 可以考虑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
刘志勇 发表于 2023-5-22 20:34
可以考虑HTTP请求里面添加范围(例如这次我只要1024字节,举个例子哈)。
https://developer.mozilla.org/ ...
(引用自6楼)
这个好
我研究下 之前遇到过这种情况,一次接收大约4K多点的数据包,由于TCP的粘包的原因,大概率接收不成功,最后使用环形队列搞定的。
但是你这个十几毫秒8K的数据量,算下来将近4Mb/s的速度了,对于W5500来说不算小了。 你不读出来,对端就发不过来了。 记得TCP协议对数据量有自动协商功能
页:
[1]