FTP-сервер использует один порт для обслуживания всех клиентов? как он различает данные для каждого клиента? - PullRequest
0 голосов
/ 08 мая 2020

Сервер, например FTP-сервер, прослушивает порт 21. Несколько клиентов могут подключаться к нему одновременно и получать услуги ftp асинхронно без блокировки.

Я предполагаю, что у сервера есть отдельный поток для обработки каждого клиентского запроса. (Вопрос: начинает ли новый поток согласовывать новый порт с этим клиентом или продолжает использовать тот же порт (21) для обмена данными?)

Насколько я понимаю, сервер использует один порт (21) для обслуживания всех клиентов, включая новые запросы на соединение.

в таком случае, как сервер, использующий один порт, различает клиентов и как делегирует соответствующие данные для каждого соответствующего потока?

1 Ответ

0 голосов
/ 11 мая 2020

То же, что и любой другой сервер TCP / IP.

Каждый клиент имеет уникальный IP-адрес и / или номер порта. Комбинация адреса клиента и порта и адреса сервера и порта создает виртуальный канал. Канал используется для обмена данными между клиентским и серверным программным обеспечением, работающим на разных машинах. Обычно это встроено в ОС. Клиентское и серверное программное обеспечение не должно обрабатывать это специально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...