首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache-Commons错误端口号计算在活动模式下

Apache-Commons错误端口号计算在活动模式下
EN

Stack Overflow用户
提问于 2014-08-06 06:51:02
回答 1查看 474关注 0票数 0

为什么的FTPClient有时会对端口命令中的端口号进行错误的计算?这是在活动模式。例如,FTPClient,它可以发送PORT <some>,<ip>,<address>,<here>,235,181,而实际上使用的端口号是60340。这个错误计算的原因是什么?

这种情况可能发生在3.3版上。

我知道ftpClient.enterLocalPassiveMode();可以解决这个问题,但我想知道活动模式不能像预期的那样工作的部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-07 06:26:13

从您的评论中,我假设您将FTP控件连接与数据连接错误。

我假设60340是FTP控制连接的本地端口。当打开数据连接时,分配60341 (因此是PORT ...,235,181)。

推理:在FTP活动模式中,客户端打开预期数据连接的侦听端口,然后通过现有控制连接上的PORT命令向服务器报告。如果服务器无法连接到端口,则任何TCP/IP数据包都无法到达该端口。当您声称“两台机器仍在端口60340上通信”时,它必须是控制连接。如果连接失败(“无法打开数据连接”),端口上就不能有任何通信。

“无法打开数据连接”错误的实际原因可能是防火墙后面,因此服务器无法连接回客户端。什么是现在的普遍现象。这就是被动模式的好处所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25153960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档