请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6101|回复: 18
收起左侧

[RL-TCPnet] 测试RL-TCPnet的FTP Server功能,简单好用

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2016-7-2 00:33:09 | 显示全部楼层 |阅读模式
板子使用SD卡作为FTP Server的存储区,FTP客户端软件是用的这个:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19945

2020-06-27:

本帖是早期的研究,实际的发布教程配套案例的速度是2MB/S

基于RL-TCPnet的FTP服务器文件上传和下载速度均可达到2MB/S以上,SD卡做存储器,效
http://www.armbbs.cn/forum.php?m ... id=32190&fromuid=58
(出处: 硬汉嵌入式论坛)



上传和下载文件的速度基本都是300KB/S

3.png

上传测试:
上传.png

下载测试:
下载.png



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2016-7-2 00:40:10 | 显示全部楼层
测试使用浏览器访问,不能上传或者下载文件,直接在电脑端网上邻居的地址栏输入FTP地址也无法访问。

还是用专用的FTP 软件好用。
回复

使用道具 举报

58

主题

118

回帖

292

积分

高级会员

积分
292
发表于 2018-1-11 09:42:09 | 显示全部楼层
eric2013 发表于 2016-7-2 00:40
测试使用浏览器访问,不能上传或者下载文件,直接在电脑端网上邻居的地址栏输入FTP地址也无法访问。

还是 ...

能提供一下该例程吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2018-1-11 09:55:46 | 显示全部楼层
回复

使用道具 举报

58

主题

118

回帖

292

积分

高级会员

积分
292
发表于 2018-1-11 10:18:18 | 显示全部楼层
eric2013 发表于 2018-1-11 09:55
http://www.armbbs.cn/forum.php?mod=viewthread&tid=26034&extra=page%3D1

谢谢您。已查看了,RL_TCPnet已经将FTP功能放到库里了,外部仅移植文件读写功能。本来想参考一下,协议栈为LwIP。您这边有LwIP上的FTP server吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2018-1-11 11:05:28 | 显示全部楼层
yuanfp 发表于 2018-1-11 10:18
谢谢您。已查看了,RL_TCPnet已经将FTP功能放到库里了,外部仅移植文件读写功能。本来想参考一下,协议栈 ...

LwIP暂时没有精力搞了,你网上搜些资料研究吧。
回复

使用道具 举报

4

主题

12

回帖

24

积分

新手上路

积分
24
发表于 2020-4-30 14:02:24 | 显示全部楼层
硬汉,为啥设置nandflash为默认,卸载nand后挂在sd卡,无法进行ftp传输呢,必须得设置sd卡默认才行。
回复

使用道具 举报

11

主题

26

回帖

59

积分

初级会员

积分
59
发表于 2020-6-27 20:47:23 | 显示全部楼层
我用class 4的sd卡,下载能到28Mb,上传平均下来也能20Mb左右,用window测试的速度,倒是这个fz的软件没法下载上传,只能连接,也是醉了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2020-6-27 21:42:40 | 显示全部楼层
solarjjl 发表于 2020-6-27 20:47
我用class 4的sd卡,下载能到28Mb,上传平均下来也能20Mb左右,用window测试的速度,倒是这个fz的软件没法 ...

这个贴上是我早期的研究,未开启事件触发方式,正式发布的速度是2MB/S左右。你现在用的RL-TCPnet V7.X是直接就开启了的。

基于RL-TCPnet的FTP服务器文件上传和下载速度均可达到2MB/S以上,SD卡做存储器,效
http://www.armbbs.cn/forum.php?m ... id=32190&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

4

主题

159

回帖

171

积分

初级会员

积分
171
发表于 2021-9-13 08:50:32 | 显示全部楼层
ftp服务器好像会把其中的文件内容通过printf打印出来,这个在哪关闭
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-9-16 08:34:29 | 显示全部楼层
yuanzhongda 发表于 2021-9-13 08:50
ftp服务器好像会把其中的文件内容通过printf打印出来,这个在哪关闭

有个retarget.c文件,你是不是忘了加上了。

不要重定向到串口打印了。
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-1-31 20:17:31 | 显示全部楼层
状态:        已从服务器断开
状态:        正在解析 sc1000 的地址
状态:        正在连接 192.168.1.112:21...
状态:        连接建立,等待欢迎消息...
状态:        明文 FTP 不安全。请切换到 FTP over TLS。
状态:        服务器不支持非 ASCII 字符。
状态:        已登录
状态:        读取“/”的目录列表...
状态:        已从服务器断开
--------------------
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-1-31 20:19:52 | 显示全部楼层
状态:        已从服务器断开
状态:        正在解析 sc1000 的地址
状态:        正在连接 192.168.1.112:21...
状态:        连接建立,等待欢迎消息...
状态:        明文 FTP 不安全。请切换到 FTP over TLS。
状态:        服务器不支持非 ASCII 字符。
状态:        已登录
状态:        读取“/”的目录列表...
状态:        已从服务器断开
---------------

发现一个问题,不知道是不是配置不正确。
用FileZilla访问服务器,可以上传二进制文件。下载好像只能下载文本文件。
我上传一个pdf文件,大约又2M的速度,再把这个pdf下载回来,就会把服务器线程卡死。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2024-2-1 09:42:50 | 显示全部楼层
ifree 发表于 2024-1-31 20:19
状态:        已从服务器断开
状态:        正在解析 sc1000 的地址
状态:        正在连接 192.168.1.112:21...

使用FlashFXP测试下是否正常,如果也不行,程序问题了。
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-2-1 10:13:00 | 显示全部楼层
实用FlashFXP测试也是不行。

[C] 纯文本查看 复制代码
void *netFTPs_fopen (const char *fname, const char *mode) 
{
	printf("Open file %s with mode : %s\r\n", fname, mode);
	FILE *f = fopen (fname, mode);
	if(!f)
	{
		printf("Open file %s failed\r\n", fname);
	}
	return (f);
}

FTP的fopen函数,加了两句printf打印。测试时,从FTP下载文件时,串口输出
[C] 纯文本查看 复制代码
Open file /xxx.pdf with mode : rb

没有提示Open failed.
但ftp就卡住了,而且现在也无法ping到板子
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2024-2-1 13:10:58 | 显示全部楼层
ifree 发表于 2024-2-1 10:13
实用FlashFXP测试也是不行。

[mw_shl_code=c,true]void *netFTPs_fopen (const char *fname, const char ...

那就是程序问题了。
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-2-1 15:34:26 | 显示全部楼层
eric2013 发表于 2024-2-1 13:10
那就是程序问题了。

问题是不知道是哪里的问题。
文件系统的代码,我写了测试程序,无论是文本文件还是二进制文件,都可以正常读取(因为是FTP下载文件有问题,我没有写二进制文件的写入测试,二进制文件读取是没有问题的)。

只要在FTP软件中做二进制文件下载操作,应该是网络线程就会卡死。

我本想用RTX的综合demo做一下测试,但论坛发的版本比较老,我重新配置了一下RTE组件的版本,下载到开发板,SD卡的文件系统挂载总是出错,目前还找到解决办法。
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-2-1 22:20:15 | 显示全部楼层
终于找到原因了。
由于在Compiler中选择了重定向stdin,重定向stdin的代码如下
[C] 纯文本查看 复制代码
int stdin_getchar (void)
{

#if 1	/* 从串口接收FIFO中取1个数据, 只有取到数据才返回 */
	uint8_t ucData;

	while(comGetChar(COM3, &ucData) == 0)
	{		
		osDelay(1);
	}

	return ucData;
#else
	/* 等待接收到数据 */
	while((USART3->ISR & USART_ISR_RXNE) == 0)
	{}

	return (int)USART3->RDR;
#endif
}

怀疑是FTP server在处理下载二进制文件时,调用了标准输入,导致卡死在这里。
是不是这个标准输入重定向写得不对呢?
回复

使用道具 举报

18

主题

90

回帖

144

积分

初级会员

积分
144
发表于 2024-2-1 22:36:28 | 显示全部楼层
再次更新解决方案。
虽然取消掉stdin输入重定向,可以解决问题。但是我需要重定向标准输入到串口,不能实用这个方法。

论坛搜索标准输入重定向,发现这个帖子,估计是与这个帖子里提到的问题一样。
https://www.armbbs.cn/forum.php? ... p;highlight=FlashFS
我将heap空间改为0x800就解决问题了。

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-28 16:52 , Processed in 0.360417 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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