我将在两台机器之间开发一个FTP客户端,由于安全原因,它们之间存在限制防火墙。防火墙仅接受与服务器和客户端上已定义的端口的连接,并且无法打开端口范围。但是我无法绑定客户端和服务器来与特定端口进行协商。例如,我一直想从本地的端口50000上载一个文件到FTP服务器的端口21。我如何实现这个目标?
最佳答案
如果要更改FTP控制连接的本地端口:
实现SocketFactory
(尤其是其SocketFactory.createSocket()
method)以创建绑定到特定本地端口的套接字。
使用FTPClient.setSocketFactory
(从SocketClient
继承)分配您的SocketFactory
实现。