WebSocket 实现

本文介绍了WebSocket技术,它用于实现实时消息通知和推送。通过TCP握手,WebSocket在客户端(如浏览器)和服务器之间建立HTTP长连接。文章详细阐述了WebSocket的四个关键消息处理:onopen、onmessage、onclose和onerror,并提供了基于Tomcat的服务器端和客户端实现步骤,包括添加依赖、定义注解的方法以及客户端如何连接到WebSocket服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebSocket 实现

WebSocket 技术实现实时消息的通知及推送

WebSocket 的实现分为客户端和服务端两部分,客户端(通常为浏览器)发出 WebSocket 连接请求,服务端响应,实现类似 TCP 握手的动作,从而在浏览器客户端和 WebSocket 服务端之间形成一条 HTTP 长连接快速通道。两者之间后续进行直接的数据互相传送,不再需要发起连接和相应。

WebSocket 对象一共支持四个消息 onopen, onmessage, onclose onerror


基于tomcat的实现

1.pom.xml中加入依赖


2.服务端代码

javax.websocket包中引入了一些类

@ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端。注解的值将被用于监听用户连接的终端访问URL地址。

onOpen 和 onClose 方法分别被@OnOpen@OnClose 所注解。这两个注解的作用不言自明:他们定义了当一个新用户连接和断开的时候所调用的方法。

onMessage 方法被@OnMessage所注解。这个注解定义了当服务器接收到客户端发送的消息时所调用的方法。注意:这个方法可能包含一个javax.websocket.Session可选参数。如果有这个参数,容器将会把当前发送消息客户端的连接Session注入进去。

3.客户端代码

onOpen 我们创建一个连接到服务器的连接时将会调用此方法。

onError 当客户端-服务器通信发生错误时将会调用此方法。

onMessage 当从服务器接收到一个消息时将会调用此方法。

我们连接到websocket 服务器端,使用构造函数 new WebSocket() 而且传之以端点URL

ws://localhost:8080/byteslounge/websocket 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值