WebSocket的简单实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSocket的简单实现相关的知识,希望对你有一定的参考价值。

参考技术A

WebSocket协议是基于TCP的一种新的网络协议。 浏览器通信通常是基于HTTP 协议,为什么还需要另一个协议?因为http只能由客户端发起,不能由服务端发起。

而WebSocket 浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket规范

WebSocket 协议本质上是一个基于 TCP 的协议。为了建立一个 WebSocket 连接,客户端浏览器首先要向服务器发起一个 HTTP 请求,这个请求和通常的 HTTP 请求不同,包含了一些附加头信息,附加信息如图所示

连接过程(以js(客户端)和java(服务器端)为例)

js:ws.send( String msg) ps:入参可以是字符串或者json字符串java:onMessage(String message)message为客户端传来的信息

java:sendUser( String msg) js:ws.onmessage

4.断开连接 onclose ( CloseReason reason)

CloseReason.CloseCode ( WebSocket关闭连接的状态码,类似http的404)

js部分:

java部分(javax实现):

ps: session 用来唯一标识连接对象

使用注解@ServerEndpoint

参考文献

javax websocket:(服务端实现api文档) https://tomcat.apache.org/tomcat-8.0-doc/websocketapi/javax/websocket/package-summary.html

js websocket:(客户端api文档) https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket

rfc6455 (websocket协议规范): https://datatracker.ietf.org/doc/rfc6455/ ** 产品介绍**

以上是关于WebSocket的简单实现的主要内容,如果未能解决你的问题,请参考以下文章

基于Netty的WebSocket简单实现

php开启websocket服务,php实现简单的websocket服务

php开启websocket服务,php实现简单的websocket服务

使用node+vue实现简单的WebSocket聊天功能

WebSocket的简单实现

webSocket的 原理 及 简单实现