欢迎来到云服务器租用和托管数据中心

服务器相关

网络服务器-怎么用一台服务器处理多个连接?

技术一直在发展,数据也在发展,因此它的存储和管理方法也在发展。大多数人不会关心一台服务器如何一次处理多个连接,或者它如何真正处理大量网络流量。他们可能很好奇,但不会获得大部分技术术语。然而,在科技界,了解这一点很重要。首先,这将帮助您提高知识水平。其次,它会让您在准备软件甚至测试软件时了解“最新消息”。有无数的应用程序在服务器上运行。人们无法想象处理这一切的那些(服务器管理员)的压力有多大。一个正确的策略是必须的,否则它可能会带来灾难,也许是关键数据和/或财务的丢失。

网络服务器-怎么用一台服务器处理多个连接?

一台服务器如何处理多个连接?

这是一个常见且令人难以置信的问题,即 – 一台服务器如何处理多个连接?假设多个客户端同时连接到端口 80。这意味着“连接”实际上代表了一个包,它包含一个包含目标端口的头字段,在这种情况下是 80。还有许多其他端口具有不同的序列号以供识别。多个客户端可能连接到同一个端口,具体取决于哪个客户端分配了哪个端口。插座表示确切的终点。

很明显,每个客户端的IP地址肯定会有所不同,服务器的IP地址也是如此。端口仅用于一般的源和目标目的,因此将允许多​​个连接,而这些连接又将被转移到它们应该到达的确切服务器。

一个人还需要记住规则。套接字由语法识别 - {SRC-IP, SRC-PORT, DEST-IP, DEST-PORT, PROTOCOL}。请注意,提及协议很重要。因此,如果两个客户端尝试使用同一个端口连接,那么根据规则,它将是 – socket1{SRC-A, 100, DEST-X, 80, TCP} 和 socket2{SRC-B, 100, DEST-X, 80、TCP}。总结一下这个特殊情况,主机 A 通过端口 80 与服务器 X 联系,主机 B 也通过相同的端口与同一台服务器联系。这些客户端的 IP 地址当然是不同的。

现在服务器将决定应该优先考虑哪个套接字。如果单个服务器正在侦听同一端口,则可能有多个套接字连接,这些套接字可以来自相同或不同的客户端。只要该服务器知道哪个请求来自何处(通过套接字),它就可以使用相同的套接字响应相应的客户端。它不需要在自己的节点中打开另一个端口,但可以使用客户端最初尝试连接的原始端口。事实上,它应该使用相同的初始套接字进行响应,以免浪费资源。

网络服务器-怎么用一台服务器处理多个连接?

一个服务器的两个不同进程可能监听同一个端口,前提是它们都使用不同的协议;否则是不可能的。服务器也被归类为单和多线程。

如果一台服务器使用单个子进程来为所有套接字提供服务,则它被称为单线程服务器。如果服务器使用多个子进程来通过将每个套接字分配给一个子进程来服务多个请求,那么它被称为多线程服务器。这是服务器一次处理多个连接的方式。

人们不应该假设如果提到这两个过程,那么它们之间一定存在某种父子关系。通常,操作系统允许子进程继承父进程的所有内容。因此,如果一个进程(比如)A 正在侦听多个套接字,那么其他(子)进程如 A1、A2……也可以侦听,但不能侦听另一个完全不相关的进程 B。两个或多个不同的进程不能侦听由操作系统管理的同一个套接字。如果操作系统不遵循这一点,那么它将被称为违反现有规则。

Copyright © 2003-2020 香港服务器和服务器租用 梦飞数据中心 版权所有