- 数据通信与网络教程
- 数据通信与网络首页
- 数据通信与网络 - 概述
- 数据通信与网络 - 计算机网络类型
- 数据通信与网络 - 局域网技术
- 数据通信与网络 - 计算机网络拓扑
- 数据通信与网络 - 计算机网络模型
- 数据通信与网络 - 计算机网络安全
- 物理层
- 数据通信与网络 - 物理层介绍
- 数据通信与网络 - 数字传输
- 数据通信与网络 - 模拟传输
- 数据通信与网络 - 传输介质
- 数据通信与网络 - 无线传输
- 数据通信与网络 - 多路复用
- 数据通信与网络 - 网络交换
- 数据通信与网络有用资源
- 数据通信与网络 - 快速指南
- 数据通信与网络 - 有用资源
客户端-服务器模型
两个远程应用程序进程主要可以通过两种不同的方式进行通信
对等式: 两个远程进程都在同一级别执行,并且它们使用某些共享资源交换数据。
客户端-服务器: 一个远程进程充当客户端,并请求另一个充当服务器的应用程序进程提供某些资源。
在客户端-服务器模型中,任何进程都可以充当服务器或客户端。并不是机器的类型、大小或其计算能力使其成为服务器;能够服务请求的能力才使机器成为服务器。
一个系统可以同时充当服务器和客户端。也就是说,一个进程充当服务器,另一个进程充当客户端。也可能客户端和服务器进程都驻留在同一台机器上。
通信
客户端-服务器模型中的两个进程可以通过多种方式进行交互
套接字
远程过程调用 (RPC)
套接字
在这种模式下,充当服务器的进程使用一个众所周知的(或客户端已知的)端口打开一个套接字,并等待直到某个客户端请求到来。充当客户端的第二个进程也打开一个套接字,但它不是等待传入请求,而是客户端进程“先发出请求”。
当请求到达服务器时,就会得到处理。它可以是信息共享或资源请求。
远程过程调用
这是一种机制,其中一个进程通过过程调用与另一个进程交互。一个进程(客户端)调用位于远程主机上的过程。远程主机上的进程被称为服务器。这两个进程都被分配了存根。这种通信以以下方式发生
客户端进程调用客户端存根。它传递所有与本地程序相关的参数。
然后将所有参数打包(编组),并进行系统调用以将其发送到网络的另一端。
内核通过网络发送数据,另一端接收数据。
远程主机将数据传递给服务器存根,在那里对其进行解组。
将参数传递给过程,然后执行该过程。
结果以相同的方式发送回客户端。
广告