H5中WebSocket 协议实例

WebSocket是一种全双工通信协议,常用于实现服务器数据推送。它建立在TCP连接上,简化了HTTP请求-响应模式,降低了实时通信的延迟。本文介绍了WebSocket的工作原理,对比了其与长链接、轮询等技术的区别,并提供了服务器和客户端的代码实例,展示了如何使用WebSocket进行双向通信。同时,讲解了WebSocket的open、message、error和close四个关键事件及其对应的处理函数。
摘要由CSDN通过智能技术生成

WebSocket协议是HTML5开始提供的一种建立在单个 TCP连接基础上的全双工通信的协议。
所以想使用WebSocket协议,那么所用的浏览器要支持HTML5
在这里插入图片描述

实质上浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,
连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
注意要区别于长链接、轮询、Comet技术,这些技术都是基于请求-应答模式,都不算是真正意义上的实时技术;它们的每一次请求、应答,都浪费了一定流量在相同的头部信息上,并且开发复杂度也较大。

关于WebSocket协议详情请看大神的文章:https://blog.csdn.net/sbsujjbcy/article/details/52839540

下面代码是使用实例

  • 业务场景是 从MQ消费的数据,经过后端处理,然后将数据推送到页面
  • 区别于传统的页面数据刷新,需要先从页面向后台发送请求,接收response后再展示数据的方式

服务器代码:

//定义webSocket服务端
@ServerEndpoint("/getRealTimeData")
@Service
public class PushDataService {
   private static Logger logger = LoggerFactory.getLogger(PushDataService.class);

//关闭事件
   @OnClose 
   public void onClose(Session session) {
      getSocketSessinonService().removeSession(session);
   }

   // 接受客户端的参数,文本、二进制消息、pongmessage
   @OnMessage
   public void onMessage(String message, Session ses
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值