客户端RPC架构深入剖析
1. 模拟服务器推送:阻塞服务器线程
在浏览器环境中,由于安全和缺乏标准等原因,真正的服务器推送功能是不可用的,即服务器无法在浏览器未请求的情况下主动向其发送数据。为了弥补这一功能缺失,有多种模拟服务器推送的方案,其中一种是阻塞服务器线程。
1.1 原理概述
RPC(远程过程调用)通常是客户端浏览器向服务器请求数据,服务器处理请求并返回结果。在阻塞服务器线程的方式中,会对这一过程做一个小改动:服务器会暂停处理请求,直到有数据可供处理。这就好比一家客户服务不佳的公司,你会一直处于等待状态,直到有人来与你沟通。
1.2 轮询与阻塞服务器线程的对比
| 对比项 | 轮询 | 阻塞服务器线程 |
|---|---|---|
| 主导方 | 浏览器每20秒主动调用服务器 | 服务器主导,将请求搁置直到需要处理 |
| 连接状态 | 非持续连接 | 几乎持续连接 |
1.3 示例应用:基于Web的聊天客户端
以基于Web的聊天客户端为例,下面分别介绍客户端和服务器端的实现。
1.3.1 客户端实现
在客户端实现阻塞服务器线程时,操作较为简单。每次收到服务器的响应后,需要发起一个新的
超级会员免费看
订阅专栏 解锁全文
2770

被折叠的 条评论
为什么被折叠?



