操作系统客户端/服务器通信


客户端/服务器通信涉及两个组件,即客户端和服务器。通常多个客户端与单个服务器通信。客户端向服务器发送请求,服务器响应客户端请求。

客户端/服务器通信主要有三种方法。如下所示 -

套接字

套接字促进同一台机器或不同机器上的两个进程之间的通信。它们用于客户端/服务器框架,并由 IP 地址和端口号组成。许多应用程序协议使用套接字在客户端和服务器之间进行数据连接和数据传输。

套接字通信级别较低,因为套接字仅在进程之间传输非结构化字节流。字节流上的结构由客户端和服务器应用程序强加。

说明套接字的图表如下所示 -

Sockets

远程过程调用

这些是用于基于客户端-服务器的应用程序的进程间通信技术。远程过程调用也称为子程序调用或函数调用。

客户端有一个请求,RPC 将其转换并发送到服务器。此请求可能是对远程服务器的过程或函数调用。服务器收到请求后,将所需的响应发送回客户端。

说明远程过程调用的图表如下所示 -

RPC

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

管道

这些是进程间通信方法,包含两个端点。数据由一个进程从管道的一端输入,并由另一个进程从另一端消耗。

管道有两种不同的类型:普通管道和命名管道。普通管道仅允许单向通信。对于双向通信,需要两个管道。普通管道在进程之间存在父子关系,因为管道只能被创建或继承它们的进程访问。

命名管道比普通管道更强大,并且允许双向通信。即使使用它们的进程终止后,这些管道仍然存在。当不再需要时,需要显式删除它们。

演示管道的图表如下所示 -

Pipes in OS

更新于: 2020年6月24日

18K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告