2010-11-16 1 views
0

Недавно я проектировал простой ftp. Когда клиент подключается к серверу, сервер создать специальное гнездо для связи:создание простой ftp с использованием Java

Socket clientSocket = listenSocket.accept(); 

Я хочу использовать этот сокет для отправки команд на сервер и создать новую для передачи данных. У меня есть два вопроса.

  1. Должен ли я создать новый сокет для данных только один раз и запомнить ссылку или создать его, когда мне нужно?
  2. Как именно я могу его создать? На стороне сервера создайте новый Socket и через clientSocket отправьте номер порта клиенту, чтобы он знал, какой порт он должен использовать для отправки/получения данных.

Цените свой совет!

ответ

0

Здесь вы можете посмотреть спецификацию FTP: http://tools.ietf.org/html/rfc959 В частности, посмотрите страницу 3. Вы увидите, что FTP имеет пассивный порт данных, который ждет соединений в дополнение к управляющему соединению. Кроме того, на стр. 7 показана диаграмма, в которой разъясняется типичный подход к FTP. Репликация, безусловно, была бы жизнеспособной стратегией.

Смежные вопросы