什么是客户端-服务器系统?

客户端-服务器中的通信可以使用共享内存和消息传递进行通信。

这些技术可用于客户端-服务器系统中的通信。

沟通策略

我们可以探索在客户端 - 服务器系统中进行通信的其他三种策略,如下所示 -

插座

套接字被定义为通信的端点。一对通过网络员工或一对套接字通信的进程,每个进程一个。

套接字由与端口号连接的 IP 地址标识。通常,套接字使用客户端服务器架构。服务器通过侦听指定的端口来等待传入的客户端请求。

一旦收到请求,服务器接受来自客户端-服务器的连接以完成通信。

例子

当客户端进程发起连接请求时,它的主机会为其分配一个端口。这个端口有一些大于 1024 的任意数字。

如果 HOST S 上 IP 地址为 126.48.5.30 的客户端想要与地址为 142.30.45.8 的 Web 服务器建立连接,则可能会为 HOST S 分配端口 1465。

该连接将由一对套接字组成: 126.48.5.30 : 1465 位于 HOST S 上,142.30.45.8:80 位于 Web 服务器上。

远程过程调用 (RPC)

它是 RPC 范式中最常见的远程服务形式之一。RPC 被设计为一种抽象过程调用机制的方法,以便在具有网络连接的系统之间使用。

它在许多方面与 IPC 机制相似,通常建立在这样的系统之上。但是,我们正在处理进程在不同系统上执行的环境。我们必须使用基于消息的通信模式来提供远程服务。

管道

管道充当允许两个进程进行通信的连接。管道是早期 UNIX 系统中最早的 IPC 机制之一。它们通常为进程相互通信提供一种更简单的方法,尽管它们也有一些限制。

在 UNIX 和 Windows 系统上使用两种类型的管道 -

  • 普通管

  • 命名管道

普通管

普通管道允许两个进程以标准过程消费者方式进行通信。

生产者写入一个管道,消费者从另一端读取。因此,普通管道是单向的,允许单向通信。不能从创建它的进程外部访问普通管道。

通常,父进程会创建一个管道并使用它与通过fork().

命名管道

普通管道提供了一种允许一对进程进行通信的简单机制。然而,普通管道仅在进程相互通信时才存在。

在 UNIX 和 Windows 系统上,一旦进程完成通信并终止,普通管道就不再存在。

命名管道提供了强大的通信工具。通信可以是双向的,不需要父子关系。一旦建立了命名管道,多个进程就可以使用它进行通信。

以上是 什么是客户端-服务器系统? 的全部内容, 来源链接: utcz.com/z/336871.html

回到顶部