2015-11-13 54 views
-1

不知道爲什麼我在eclipse上獲取該堆棧跟蹤時,當我嘗試將套接字設置爲我的客戶端請求的端口時。嘗試在服務器上實現FTP端口命令:端口正在使用

enter image description here

enter image description here

enter image description here

+0

您正嘗試在同一臺計算機的同一端口上設置兩個服務器套接字。您不能 – 3kings

+0

爲什麼當我使用PASV時它有效? – Dan

+0

我不能回答這個問題,因爲我不知道'PASV'是什麼,它意味着什麼 – 3kings

回答

0

客戶端請求的是要連接到的PORT命令給出的地址/端口。這意味着您必須創建一個到客戶端(ClientSocket)的連接,但是您正在等待來自客戶端的連接(ServerSocket)。在PASV模式下它是不同的,因爲你在等待來自客戶端的連接(ServerSocket)。

「地址已在使用中」消息是由於您正在嘗試到本地主機的FTP連接。也就是說,客戶端已經綁定到PORT命令中給出的IP:端口並等待連接,但是您錯誤地嘗試在同一系統上的同一個端口上創建ServerSocket - 這是不可能的並導致錯誤消息。

+0

我看到我會嘗試。所以在服務器上,我將根據客戶端的Port命令給出的地址創建一個Socket。並不等待接受? – Dan

+0

@Dan:是的,這就是FTP主動模式的工作原理。 –

+0

OMG它的工作原理,非常感謝。 – Dan

相關問題