我已经基于这个 Apache 项目实现了一个 FTP 服务器:http: //mina.apache.org/ftpserver-project/index.html
服务器旨在支持被动模式并进行相应配置。出于测试目的,我只配置了一个被动端口(4244),但是在启动服务器后,这个端口上没有任何东西在监听。FTP 服务器在标准端口上监听活动连接和在一个 SSL 连接上正常。
尝试连接 FTP 客户端时,我收到以下错误(不足为奇):
状态:解析本地主机的地址
状态:正在连接到 [::1]:4244...
状态:连接尝试失败,“ECONNREFUSED - 服务器拒绝连接”,尝试下一个地址。
状态:正在连接到 [fe80::1%lo0]:4244...
状态:连接尝试失败,“ECONNREFUSED - 服务器拒绝连接”,尝试下一个地址。
状态:正在连接到 127.0.0.1:4244...
状态:连接尝试失败,出现“ECONNREFUSED - 服务器拒绝连接”。
错误:无法连接到服务器
我的配置对象正在从 Apache 项目实现这个接口:DataConnectionConfiguration
我在类中添加了一些日志记录,并注意到提供被动端口的方法从未被调用。我希望调用其中一种方法(例如 requestPassivePort() ),因为 FTP 服务器怎么知道要监听哪个被动端口?再说一次,也许我对被动 FTP 的工作方式有误解。尽管 Apache 项目中有一些文档,但关于在被动模式下运行服务器的内容并不多。
也许有人已经使用这个 Apache 库成功地实现了一个被动 FTP 服务器,并且可以为我提供一些帮助。
非常感谢。
干杯,
马丁