VxWorks内核 FTP服务器 连接 xftp 方法

在VxWorks开发过程中我们经常使用FTP来作为文件传输手段,尤其是软件开发过程中的工程文件的远程加载。风河的workbench提供了一个很好的工具wftpd.exe,当然还有tftp就不赘述了。

最近一个项目上有一个需求,需要通过FTP将实验数据从设备卸载到本地。(本地主机使用客户端)

问题出现了,本地主机客户端(xftp、fileZilla)无法访问设备端!!!即Wftpd连接没问题,xftp连接不上。

问题原因在于wftp为ftp server,对接的是设备端的tfp client;而xftp为client,对接的是设备端的ftp server组件。

问题定位:设备端ftp server功能异常。

问题解决

  1. 确认VIP工程里的kernel configuration中是否增加FTP server组件;这个一般都include了
  2. kernel configuration中查看FTP init directory和root directory是否为当前设备文件系统根路径(只要是为可访问路径即可);
  3. kernel configuration中FTPS_AUTH_CALLBACK_HOOK挂载到自己的回调函数(MyFtpCallback)中,如下图。
  4. kernel configuration中将FTPS_INSTALL_CALLBACK_HOOK定义为TRUE。

编写自己的回调函数,可以放置在usrAppInit.c中

#include <iprip.h>
#include <ipftps.h>
int MyFtpCallback (Ipftps_session *session, char *password)
{
	return 0;
}

回调函数中可增加对FTP客户端访问所需的用户名和密码的判断,暂不赘述。

Kernel config配置如下图

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值