首页 > 解决方案 > FTP 服务器使用单个端口为所有客户端提供服务?它如何区分每个客户的数据?

问题描述

一台服务器,例如 FTP 服务器正在侦听端口 21。多个客户端可以同时连接到它并异步获取 ftp 服务而不会被阻塞。

我的假设是服务器有一个单独的线程来处理每个客户端请求。(问题:新线程是开始与该客户端协商新端口还是继续使用同一端口(21)进行数据交换?)

我的理解是服务器使用单个端口(21)为所有客户端提供服务,包括新的连接请求。

如果是这种情况,使用单个端口的服务器如何区分客户端以及它如何为每个相关线程委派相关数据?

标签: ftp

解决方案


与任何其他 TCP/IP 服务器一样。

每个客户端都有一个唯一的 IP 地址和/或端口号。客户端地址和端口以及服务器地址和端口的组合创建了一个虚拟通道。该通道用于在不同机器上运行的客户端和服务器软件之间交换数据。这通常内置于操作系统中。客户端和服务器软件不必专门处理它。


推荐阅读