WebSocket的简单实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSocket的简单实现相关的知识,希望对你有一定的参考价值。
参考技术AWebSocket协议是基于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的简单实现的主要内容,如果未能解决你的问题,请参考以下文章
php开启websocket服务,php实现简单的websocket服务