WebSocket实践
阅读原文时间:2023年07月11日阅读:1

基本弄清楚了WebSocket的来龙去脉后,开始了实现WebSocket技术的探索。

看过一篇文章,测试了八种WebSocket框架性能,得以了解到实现WebSocket技术的框架有:

Netty、Undertow、Jetty、Vert.x、Grizzly、spray-websocket、node.js-websocket/Node.js、Golang

补充下:

作为老牌的servle容器,tomcat实际也可以实现WebSocket技术。

下面说一下我遇到的一个标准:JSR356标准:

JSR 356,对于WebSocket的的Java API

这标志着所有兼容JAVA EE 7的应用程序都必须实现这个API。

java开发人员不需要关注websocket具体的实现,而只要关注逻辑就可以了。

具体带来的好处是,比如java EE容器,必须实现这个标准,使我们的编码可以统一规范(之前是如果你使用jetty,那么使用jetty的jar包实现websocket是一套API,如果你使用tomcat,那么使用tomcatjar包实现websocket是一套API,而现在统一的使用一套就可以了)。

但是jetty是在9.1版本之后才实现的(起初我的demo项目怎么也访问不到服务端的websocket,是jetty版本过低。),tomcat是在7之后实现的。

下面是具体实现的代码

1.首先需要引用jar包

scope为provided,为了防止容器本身的websocket音响。

2.服务端的代码:

3.客户端代码

来自为知笔记(Wiz)