安卓FTP客户端无法连接FTP服务器FineFTP

    FineFTP的介绍请见上一篇博文《C++FTP服务器库:FineFTP的编译和使用》。

 

一、问题描述:

如题,在windows电脑中通过FineFTP搭建了一个FTP服务器,在安卓手机/设备中运行FTP客户端,然后连接windows上的FTP服务器,结果无法连接。通过Wireshark抓包发现,客户端发送的FTP命令和返回的响应如下所示:

 

问题就出在客户端向服务器发送SYST指令(获取服务器使用的操作系统)时,服务器返回了“215 WIN32”。该响应导致了客户端接下来发送QUIT指令,使客户端从 FTP 服务器上退出登录。

 

二、解决方法:

打开fineftp-server/src目录下的ftp_session.cpp文件

 

将830行的:return FtpMessage(FtpReplyCode::NAME_SYSTEM_TYPE, "WIN32"); 更改为return FtpMessage(FtpReplyCode::NAME_SYSTEM_TYPE, "UNIX");

 

更改完成后重新编译FTP服务器程序,重新使用安卓FTP客户端连接FTP服务器,然后发现客户端向服务器发送SYST指令时,服务器的响应改了,然后客户端可以正常连接服务器了,如下图所示:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值