我使用apache commons net FTPSClient連接到本地ftp(被動模式)。連接似乎掛起後FTP連接輸入流掛起
> LIST
< 150 Opening ASCII mode data connection for /bin/ls.
我已經添加了一些日誌記錄到FTPClient類,看看它究竟在哪裏掛起。它是用這種方法:http://grepcode.com/file/repo1.maven.org/maven2/commons-net/commons-net/3.3/org/apache/commons/net/ftp/FTPClient.java#FTPClient.initiateListParsing%28org.apache.commons.net.ftp.FTPFileEntryParser%2Cjava.lang.String%29
套接字被創建並且socket.isBound()返回true,如同socket.isConnected(),而socket.isInputShutDown()返回false。所有這一切似乎都很好,直到ftp客戶端實際嘗試從輸入流中讀取數據,這會在沒有任何數據即將出現的情況下無限期地掛起。由於使用SSL,Wireshark不是一個選項。
在這一點上(由於套接字狀態),我排除了防火牆的問題,但我不知道可能會導致掛起。我認爲這是服務器端,我可以與運行它的人交談,但如果我能告訴他們在哪裏尋找,這將是有幫助的。
UPDATE
如果問題是downvoted或投票接近我會非常感激的解釋......在我看來,是一個完美的計算器問題。
你的代碼在哪裏? –
恩,問題中的鏈接......? – nablex
那不是你的代碼...那就是你使用的FTPClient的代碼 –