2014-07-25 59 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