application实现网页计数_Springboot整合Websocket实现后端向前端主动推送消息案例

news/2024/7/7 20:53:41

在手机上相信都有来自服务器的推送消息,比如一些及时的新闻信息,这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。

一、什么是websocket

WebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与我们的推送技术或者是多人在线聊天的功能不谋而合。

为什么不使用HTTP 协议呢?这是因为HTTP是单工通信,通信只能由客户端发起,客户端请求一下,服务器处理一下,这就太麻烦了。于是websocket应运而生。

下面我们就直接开始使用Springboot开始整合。以下案例都在我自己的电脑上测试成功,你可以根据自己的功能进行修改即可。

二、整合websocket

1、环境配置

f57774c22eda80797ebb153cdf54f0b4.png

下面我们新建一个普通的Springboot项目。

2、添加依赖

67a64e9d64006054501ac8a298409d85.png

3、在application.properties文件修改端口号

一句话:server.port=8081

4、新建config包,创建WebSocketConfig类

6a636a2e8c673ddfe912e53847e6eaec.png

5、新建service包,创建WebSocketServer类

ada10884ba17e00423d2d24102b3d08a.png
9c3487973031bf384715ec7447ed4567.png
2a9342699ead540b8f2afb8f9d9d68db.png
2aa02be81b8f11d2ba5ffe4f0dff3969.png

6、新建controller包,创建Mycontroller类

ac5b1ed954a0413f8348b16d34bb6ba3.png

7、新建一个websocket.html页面

987d0daf69ea79a83254b2a89ca420de.png

现在开发服务器和网页就可以看到效果了。一般情况下Springboot2+Netty+Websocket的组合方式更加的常用一下。这个只是给出了一个基本的案例,你可以根据自己的需求进行更改。

https://github.com/fengdongdongwsn/MyjavaStudy.git


http://www.niftyadmin.cn/n/2491870.html

相关文章

人类为什么不把永生技术放在第一位?

永生,是几千年来人类一直梦寐以求的,一些雄心勃勃的帝王甚至为此举倾国之力,可以说,一部各国帝王史,就是一部永生幻灭史。 从古埃及法老建立金字塔以期待复活永生,到秦始皇派徐福东渡求仙,不知道…

[Js-Java SE]IO流

重要的16个流: java.io.*; FileInputStream FileOutputStream FileReader FileWriter BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream DataInputStream DataOutputStream ObjectInputStream ObjectOutputStream 转换流(字节流…

Java 处理 Exception 的 9 个最佳实践,你做对了吗?

点击上方“阿拉奇学Java”,选择“置顶或者星标” 每天早晨00点00分,与你相约!往日回顾:一文搞定分布式系统ID生成方案在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思…

python grpc_grpc| python 实战 grpc

date: 2018-5-15 22:12:32 title: grpc| python 实战 grpc description: 只要代码可以跑起来, 很多难题都会迎刃而解. so, keep coding and stay hungry. 之前用 swoole 写 server 时就接触过 protobuf, 本来以为基于 protobuf 的 grpc, 上手起来会轻轻松松, 没想到结结实实的折…

自动化运维工具ansible再探

自动化运维工具ansible再探-------------------------------------------------------------------------------------------------------------------------------------ansible常见工具(1)ansible-pull:推送命令至远程,效率无线提升,可以管…

单身久了,是一种什么体验?

那天,在智猪AR上看到一个视频,男人说:我对一个女孩很好,也想她以同样的态度对我,结果,可能我把她捧的太高,让她忘记了自己是谁,觉得自己很牛逼,把我当成屌丝. 女人说&…

这么多编程学习网站,总有一个适合你吧

点击上方“阿拉奇学Java”,选择“置顶或者星标” 每天早晨00点00分,与你相约!往日回顾:Java 处理 Exception 的 9 个最佳实践,你做对了吗?前 言今天分享几个适用于编程开发自学的学习网站,主要涉及编程学习…

python无法卸载库_解决python 虚拟环境删除包无法加载的问题

项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同…