springboot中websocket的简单应用

在springboot中使用websocket与其他方式会有所不同,主要还是因为springboot会内置tomcat以及springboot做了一定的配置。
下面针对springboot中使用websocket功能进行一下记录。
先说一下我们要简单实现的一个功能:
1、实现多用户连接。
2、客户端向服务端发送信息。
3、统计在线人数。
4、服务端向客户端发送信息。
一、首先pom中添加相关依赖
springboot中websocket的简单应用_第1张图片
thymeleaf我们只是在这里使用一下,当然你不使用它的话可以不必添加。
注意:1、如果是使用springboot内置tomcat进行部署的话,pom到这里就够了,如果是使用war包方式到tomcat中进行部署,应该还需添加一下
springboot中websocket的简单应用_第2张图片 这个包,因为这里面带有javaee对websocket支持的标准规范(jsr356)的注解。主要是@ServerEndpoint。
2、使用springboot内置tomcat进行部署的话,在编写websocket具体实现类之前,要注入ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint。而如果使用war包部署到tomcat中进行部署的话,就不必做此步骤,因为它将由容器自己提供和管理。
springboot中websocket的简单应用_第3张图片
二、编写服务端具体实现类。
springboot中websocket的简单应用_第4张图片
三、编写客户端。 springboot中websocket的简单应用_第5张图片
四、编写统计页面
springboot中websocket的简单应用_第6张图片 springboot中websocket的简单应用_第7张图片
到此,程序基本编写完毕,接下来我们进行测试。
首先我们用两个浏览器(火狐与谷歌,正好也用来测试这两个浏览器对于websocket的支持性)来模拟两个用户
用户1:火狐浏览器
springboot中websocket的简单应用_第8张图片
用户2:谷歌浏览器
springboot中websocket的简单应用_第9张图片
我们分别用这两个用户向服务器发送消息。
springboot中websocket的简单应用_第10张图片 springboot中websocket的简单应用_第11张图片
然后看下服务器的控制台输出

可以看到服务器已经成功接收到来自两个客户端传来的消息,这就已经实现了我们最初提到的第一个与第二个需求。接下来我们看第三与第四个需求。
打开我们的统计页面
springboot中websocket的简单应用_第12张图片
可以看到,在线人数,以及所在线的人员我们都已统计到,接下来我们可以选择给他们其中一个人发送消息。
springboot中websocket的简单应用_第13张图片
springboot中websocket的简单应用_第14张图片
可以看到,张三成功收到了消息。
最后,我们可以点击全部发送,给两个客户端都发送消息。
springboot中websocket的简单应用_第15张图片 springboot中websocket的简单应用_第16张图片 springboot中websocket的简单应用_第17张图片
两个客户端都成功收到了消息。


你可能感兴趣的:(springboot,websocket,springboot)