2010-11-16 52 views
0

最近我設計了一個簡單的ftp。當客戶端連接到服務器,服務器爲該連接創建一個特殊的插座:使用Java創建簡單的ftp

Socket clientSocket = listenSocket.accept(); 

我想用這個插座將命令發送到服務器並創建一個新的發送數據。 所以我有兩個問題。

  1. 我應該只爲數據創建一個新的套接字一次,並記住引用,或者在需要時創建它?
  2. 我該如何創建它?在服務器端創建一個新的Socket,並通過clientSocket向客戶端發送一個端口號,以便知道應該使用哪個端口發送/接收數據。

感謝您的建議!

回答

0

您可以在這裏查看FTP規格:http://tools.ietf.org/html/rfc959具體而言,請查看第3頁。您將看到FTP有一個被動數據端口,除了控制連接外,還有一個等待連接的被動數據端口。此外,第7頁還有一個圖表,它闡明瞭典型的FTP方法。複製它肯定是一個可行的策略。