2014-07-25 23 views
1

我想用Appengine(Java)连接到被动模式下的ftp服务器。 如您所知,被动模式使用2个simultanous连接:端口21上有1个,服务器选择另一个端口。我遇到的问题是,两个连接不是由同一个IP完成的,因为Appengine Socket Api使用负载缓冲区,因此会发出与不同源IP的连接。问题在于,FTP服务器只是拒绝没有在端口21上启动连接的IP。 有没有什么方法可以为连续的套接字连接保留相同的源IP?被动FTP与Appengine

谢谢。

回答

0

您不能在应用程序引擎中执行此操作。 如果您拥有FTP服务器,请考虑放宽这一条件。 如果不是,您可以在同一个项目中使用compute engine vm with external IPs来获取该文件,然后将其保存在GCS或某个共享存储中。

+2

其实我已经成功地使Appengine上的ftp工作,我在短暂端口上打开多个套接字,直到连接被接受为止。但在我看来,这个解决方案并不安全,并且依赖于负载警卫队池大小。我会尝试fork apache commons net项目。 – Fabien

+0

从GAE文档:您不能创建侦听套接字;你只能创建出站套接字。 – Simon