java websocket 库_Java 项目中的 WebSocket 实现
基于 tomcat 的 WebSocket 实现
这种方式需要 tomcat 7.x,JEE7 的支持。
首先创建一个 springboot 项目,在 pom.xml 中导入 websocket 所需要的依赖
然后开启 WebSocket 的自动注册(如果使用的是独立的 servlet 容器,而不是 spring boot 的内置容器,就不需要注入这个,它将由容器自己提供和管理)
然后就可以创建 WebSocket 服务端啦!主要在于两个部分 :
通过注解 @ServerEndpoint 来声明实例化 WebSocket 服务端
通过注解 @OnOpen、@OnMessage、@OnClose、@OnError 来声明回调函数
最后让我们来检验一下成果!首先用在线 WebSocket 测试开三个用户,然后让用户 2 发一条消息
可以看到在用户 2 的消息发送后,每个在线用户都能够收到来自服务器的主动推送 业务完美qwq
基于 Spring 的 WebSocket 实现
这种方式需要 spring4.x 的支持。由于使用了 socketjs,对于不支持 WebSocket 的浏览器可以模拟 WebSocket 的使用。
首先还是创建一个 spring boot 项目,导入依赖
然后新建一个配置类,用于添加服务端点,以接收客户端的连接
最后构建服务端,具体的方法基本与上面对应,数据通过 session 进行传输
最后检查一下消息发送情况(这里测试的时候是把代码中从session获取userId改成了直接令 userId = 1L)
完成!(。・`ω´・)
java websocket 库_Java 项目中的 WebSocket 实现相关推荐
- java jndi使用_Java项目中使用JNDI连接数据库
因为写的大作业经常用到数据库连接 所以自己写了个数据库连接的类 package DB_Link_info;/* * 数据库链接信息 */public class DB_link_Info {publi ...
- java h2数据库_JAVA 项目中使用 H2 数据库
JAVA 项目中使用 H2 数据库 发布时间:2018-06-08 15:43, 浏览次数:823 , 标签: JAVA 为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入 ...
- java byte 拓展_Java项目中如何扩展第三方jar包中的类?
有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展.如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比 ...
- java 多线程池_Java项目中,线程池中线程数量太大会有什么影响?
简单说一下吧!拿我们生活中非常常见的一例子来说:并不是人多就能把事情做好,增加了沟通交流成本.你本来一件事情只需要3个人做,你硬是拉来了6个人,会提升做事效率嘛?我想并不会. 线程数量过多的影响也是和 ...
- java 不同包_Java项目中不同包的命名及作用
①在vo或者domain包中定义bean类,主要是类的属性,这个类跟数据库中的某个表的字段一致. ②dao包中主要是存放用于操作数据库完成业务逻辑方法的接口. ③dao.impl这个包存放着这样的一个 ...
- vue项目中通过WebSocket实现实时消息提示及遇到的问题
vue项目中通过WebSocket实现实时消息提示(前端代码) 需求说明 后台有新增消息通知,并实时推送给用户端,用websocket可以很方便的解决这个问题,但是websocket有个弊端不兼容IE ...
- junit5_在Java 8之前的项目中使用JUnit 5
junit5 这篇文章演示了如何在Java 8之前的项目中使用JUnit 5,并解释了为什么它是一个好主意. JUnit 5至少需要Java 8作为运行时环境,因此您想将整个项目更新为Java8.但是 ...
- java 获取sqlsession_获取Java的MyBatis框架项目中的SqlSession的方法
从XML中构建SqlSessionFactory从XML文件中构建SqlSessionFactory的实例非常简单.这里建议你使用类路径下的资源文件来配置. String resource = &qu ...
- java项目使用junit_在Java 8之前的项目中使用JUnit 5
java项目使用junit 这篇文章演示了如何在Java 8之前的项目中使用JUnit 5,并解释了为什么它是一个好主意. JUnit 5至少需要Java 8作为运行时环境,因此您想将整个项目更新为J ...
最新文章
- transport request 实现原理
- object overview page打开后白屏问题分析
- python接口自动化2-发送post请求
- 成立一周?谷歌人工智能道德委员会解散了?近日,金山云和小米刚签订了不超过9000万的硬件产品供应协议,闹哪样? | 极客头条...
- 抽象方法,抽象类,接口
- 成为中国最好的Magento开发公司
- Java并发编程(04):线程间通信,等待/通知机制
- 信息学奥赛一本通(1010:计算分数的浮点数值)
- PHP的学习--可变函数
- java用switch判断日期_Java-用switch判断季节
- 边境的悍匪—机器学习实战:第三章 分类
- 程序员们逢年过节初一十五都应该祭拜哪些神仙?
- 服务器固态硬盘raid没了,HP服务器磁盘阵列坏了怎么办,数据如何恢复?
- 【读书笔记】《大型互联网企业安全架构(石祖文)》
- SQL注入及其危害、防御手段
- 软考高级软件架构师学习笔记二(软件工程)
- PWM控制技术+Simulink仿真详解
- html如何在图片中放入音乐,如何给图片添加音乐
- 深入浅出matplotlib(12):椭圆示意图
- 莱文斯坦距离(编辑距离)算法 (Levenshtein Distance Algorithm)