返回目录:金融新闻
效果展示:
一、服务端
1.1 新建一个工程
取名为:spring-boot-websocket
1.2 引入依赖
在pom.xml文件中添加如下依赖:
spring-boot-starter-websocket中就会自动引入spring-boot-starter-web和spring-boot-starter,所以我们就不需要引入了。
1.3 注入ServerEndpointExporter
编写一个WebSocketConfig配置类,注入对象ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint,代码如下:
1.4 websocket的具体实现类
websocket的代码:
使用springboot的唯一区别是要@Component声明下,而使用独立容器是由容器自己管理websocket的,但在springboot中连容器都是spring管理的。
虽然@Component默认是单例模式的,但springboot还是会为每个websocket连接初始化一个bean,所以可以用一个静态set保存起来。
1.5 编写/访问控制
编写IndexController,可以访问地址/到index.html页面。
1.6 编写启动类
到这里服务的部分就编写完毕了,接下来就是客户端的代码了。
二、客户端
客户端的代码主要是放在index.html页面中,在页面中使用H5提供的WebSocket对象,具体如下代码(src/main/resources/templates/index.html):
三、运行测试
运行App.java启动程序,进行测试:
(1)打开浏览器访问地址http://127.0.0.1:8080/
(2)点击【连接WebSocket】,然后就可以发送消息了。
(3)打开另外一个浏览器或者直接打开一个TAB访问地址http://127.0.0.1:8080/
(4)点击【连接WebSocket】,然后就可以发送消息了。
(5)观察两边的信息打印,看是否可以接收到消息。
Java学习资料获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==