野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9569|回复: 4

lwip的tcp发送问题 以及 fatfs的建立文件 问题

[复制链接]
发表于 2018-5-16 19:38:14 | 显示全部楼层 |阅读模式
拿到板子一段时间了,跑了跑各种例程,现在主要是学习lwip和fatfs

lwip现在是用tcp client方式发送数据,现在碰到一个问题。就是如果电脑上的服务器端由于某种原因中断了连接,又没有发送结束FIN信号,那么板子的客户端就完全不知道连接已经中断,也就不能重新建立连接。
我想了一个办法。如果我发送数据长时间没有收到应答,就重新建立连接。那么问题来了,如何从lwip中获得这个“多次重发数据也没有应答”的信息呢?

第二个问题是关于FatFS的,用的32G SD卡。我写了一个程序是按键建立一百个文件,发现一个现象,文件越多,建立新文件就越慢。现在有1000多个文件的前提下,平均1秒钟只能建立两个文件了。
请问这个现象是什么造成的?有没有改进的方法?

请各位大拿解惑!
回复

使用道具 举报

发表于 2018-5-17 09:09:53 | 显示全部楼层
一、一般这些就是用心跳包,跟服务器要协调好
二、这个可能是目录太大,要给fatfs分配更大的内存
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-17 15:41:26 | 显示全部楼层
笑你像狗 发表于 2018-5-17 09:09
一、一般这些就是用心跳包,跟服务器要协调好
二、这个可能是目录太大,要给fatfs分配更大的内存

感谢回答!

tcp的问题,我现在发现受到应答会调用tcp_sent()绑定的回调函数,那么发送数据时,长时间进不到tcp_sent就认为断线,然后调用tcp_abandon()来关闭连接。暂时算是解决了吧。

关于第二个问题,fatfs的内存分配是需要设置什么吗?还是它自己申请的,我只需要接入更大的SDRAM?



回复 支持 反对

使用道具 举报

发表于 2018-5-21 11:52:44 | 显示全部楼层
tcp建议用短连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-23 17:29:05 | 显示全部楼层
xsx127 发表于 2018-5-21 11:52
tcp建议用短连接

感谢回答!

但是考虑到远程使用环境,客户端的IP地址不固定,不使用长连接怕找不到服务器啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-1 15:12 , Processed in 0.036871 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表