SocketIO聊天例子JAVA版本

时间:2024-05-21 13:10:12

本文章附简单聊天例子源码,支持多人聊天和房间切换,先放一张图表示诚意。

SocketIO聊天例子JAVA版本

没错我无耻的用了icq三个字母,项目是一个springboot +springmvc 的项目  然后加了socketIO 的pom引用,很干净其他啥都没加,因为也是初学者,其实好多也不明白,就跟大家分享下自己的见解。

官方例子java下载地址:https://download.****.net/download/u010191034/11941897

我做的例子java下载地址:https://download.****.net/download/u010191034/11963583

注释:

1 官方例子是客户端与服务端分离的main方法启动,然后直接打开html文件就能用

2 我的例子是springboot+springmvc  ,html也放到项目里面了,直接启动DemoApplication 就会启动socketio,直接访问icqController中的接口就能获取到页面,项目有个小问题,启动后重启项目,socketio常会爆端口冲突,多次重启就能解决,也可以在配置中更换端口。

SocketIO适合的场景:

需要与服务器多次,频繁双工通信,就是你主动给服务器发数据,服务器主动给你推送数据。

比如说,QQ的聊天,哔哩哔哩的弹幕,都有和服务器很频繁的数据交换需求,这时候就需要持续的数据交互,或者某些很频繁的请求等。

为什么用SocketIO:

如果没有socket我们不知道服务器端什么时候有新的数据,这是时候就需要轮询请求服务端,如果有1000个客户端每个都轮询请求,服务器肯定会吃不消,直接就被玩死了,而scoketIO是用长链接的方式,耗费资源远低于轮询。

SocketIO和WebSocket的区别:

简单的理解,SocketIO 对WebSocket进行了再次的封装,包括socket的连接断开,数据传输等,易用性socketIO高,可以理解为SocketIO包含WebSocket

SocketIO如何使用:

SocketIO的包分2部分,一部分是后台,另一部分是js,前端与后端都需要引用才能使用SocketIO,具体详见例子。

总结:

        SocketIO也是刚接触,原理啥的不敢瞎说,也不想粘贴别人的博客,这个还需要大家自己根据例子多试验多了解。

————————————————————-chenchen————————————————————————————