21、持久通信模式:从存在检测到服务器推送的技术解析

持久通信模式:从存在检测到服务器推送的技术解析

1. 持久通信模式概述

在持久通信模式中,HTTP 服务器位于主服务器上,可被多个客户端访问。其中部分客户端是使用网页浏览器的用户,还有一个客户端是运行监听信息变化应用程序的计算机。当信息发生变化时,该计算机客户端会向写入流写入数据,触发 HTTP PUT 或 POST 请求,从而使其他监听客户端发生改变。这种将进程分离的方式,让服务监听和更新 HTTP 服务器数据的方式更具灵活性。

2. 存在检测示例

存在检测在代码层面上是对全局状态应用程序的增量更新。其核心需求是全局状态资源需要知道谁正在访问该资源,用户的身份信息用于增强全局状态资源的内容。
- 用户认证
存在检测的基础代码是之前展示的全局状态代码。客户端代码保持不变,因为它本身具备获取用户名和密码的功能。而 ServerCommunicator 需要更新以包含识别用户的功能。识别用户的机制可以是 HTTP 认证或 Cookie,在本示例中使用的是 HTTP 认证。为了支持不同形式的认证,定义了以下接口:

public interface UserIdentification {
    public String getIdentifier();
    public Boolean isIdentified();
}
public interface UserIdentificationResolver {
    UserIdentification identifyUser(HttpServletRequest request);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值