对于相同和不同类型的进程,服务器如何从相同的端口号回复更多客户端?

时间:2016-08-01 13:58:24

标签: java network-programming

我怀疑连接到处理相同进程的不同客户端的服务器是否可以向更多数量的客户端发送数据使用不同的端口将数据传输到客户端或相同的端口进行传输,并解释很少有关端口的分配不同的过程也

1 个答案:

答案 0 :(得分:0)

这要归功于Threads。 您可以将线程视为您的进程函数的另一个实例。 每当客户端连接到单个服务器进程时,就会实例化一个线程,并且它将具有保持连接,与用户交换数据等的作业。 你可以为每个用户创建一个主题。

然而,这并非总是可行,因此回调会派上用场。 回调是异步函数,通常在事件之后调用(例如&#34;数据包接收&#34;),因此在这种情况下没有线程,但是你应该小心数据完整性(回调可能会返回值,即使你<还没有收到完整的数据)和竞争条件。

请在此答案中纠正错误。

TLDR:服务器上只有一个端口,在该端口上有可以使用这两种方式中的任何一种工作的服务。 (客户端端口可能会发生变化,但如果您正在使用TCP,则无需担心)