完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
您好 ESP8266/Lua 用户和社区!
我编写了一个(非常)简单的 Web 服务器,它根据请求从文件系统发送文件。 当然有 ara myny 图片,它们传输速度很慢。例如,50KBytes 的 jpg 文件将在 3-4 秒内发送,我认为这太慢了。 经过研究,我发现在 WIFI 网络上发送 1460 字节的数据需要大约 200 毫秒(!)。从调用 到调用发送确认函数 的时间。 我选择 1460 是因为它接近以太网数据包大小的最大长度(+ IP 开销)。发送数据的代码和我的测量点如下: --function sends file content to web function web_sendfile(localSocket, filename) local bytes_send = 0 local t1 = 0 local t2 = 0 -- 回调函数确认数据发送 local function web_sendfile_cnf(loc_socket) -->> 以微秒为单位获取第二个测试时间戳并打印测试差异 t2 = tmr .now() print( t2 - t1 ) -- 超过 200 000 微秒 ??? - 文件已存在? if nil==file.open(filename,"r") then loc_socket:close() return end -- 转到文件中的下一个位置读取 file.seek("set",bytes_send) -- 读取部分数据并关闭文件 local fd = file.read(1460) file.close() if nil~=fd then --增加发送字节数和发送数据 bytes_send=bytes_send+string.len(fd) loc_socket:send(fd) else -- 没有东西要发送,关闭套接字 loc_socket:close() end -- 释放内存 fd=nil collectgarbage( ); end-- 回调函数 -->> 以微秒为单位获取第一个测试时间戳 t1 = tmr.now() -- 发送 http header localSocket:send(cont_type, web_sendfile_cnf) end 它不依赖于连接模式(客户端或接入点) ),那个时间总是在 200ms 左右。 我希望这个社区包括经验丰富的用户,他们可以帮助我找到解决这个问题的方法。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1253浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2338浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2527浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:11 , Processed in 0.710300 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2341
