服务器推送技术

什么是推送技术:

	推送技术是指将服务器端的数据,主动由服务器发起请求,将数据发送给消费者浏览器客户端

实现方案:

1.短轮询:

实现描述:
			a. 在页面使用js编写死循环, 
			b. 死循环中使用ajax, 每隔几秒发送一次请求, 到服务器
			c. 服务器返回成功或者失败响应结果, 如果接收到失败消息, 这继续死循环, 直到接收到成功结果, 跳出死循环
		优点:
			推送效果, 简单可以实现
		缺点:
			对于服务器会接收到大量重复的无用请求, 对服务器压力非常大
		使用场景:
			用户量, 并发量, 数据量不多的政务系统或者传统企业网站., 这种技术比较老旧十几年前使用.

2.长轮询:

实现描述:
			a. 页面发送一次ajax请求
			b. 在服务器端接收请求, 并进入死循环, 每循环一次, 线程可以睡3, 在死循环中可以调用微信查询接口, 查询支付状态
			c. 如果微信返回结果是未支付, 则继续死循环, 如果微信返回结果是支付成功, 则跳转死循环并返回响应给页面.
		优点:
			由于页面只发送一次请求, 服务器并发压力不大.
			推送效果可以简单实现
		缺点:
			如果高并发, 大量用户访问, 则会开N多的线程使用, 这样会造成服务器压力非常大.
		使用场景:
			在现在的一些政府政务系统中有使用, 同样是用在并发量, 用户量不多的情况下使用.

3.webSocket:

实现描述:
			a. 浏览器必须是支持webSocket的版本.
			b. 服务器端也要支持webSocket协议, tomcat7.0.27才开始支持webSocket协议.
		优点:
			客户端和浏览器端双向通讯, 通讯效率极高. 并且真实的实现了推送效果.
		缺点:
			不是所有的客户端浏览器 和服务器端都支持这种技术.

什么是webSocket:

	webSocket是底层基于TCP协议的双向通讯技术.

http和websocket区别:

	http是单向通讯技术, webSocket是双向通讯技术, 所以webSocket效率比http要高
	http和webSocket同属于应用层协议, 底层也同样使用TCP协议.
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值