# springbootwebsocket **Repository Path**: lv_titi/springbootwebsocket ## Basic Information - **Project Name**: springbootwebsocket - **Description**: ♨️websocket消息推送,单独发送信息,群发信息 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-26 - **Last Updated**: 2021-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 在线测试地址: 服务端:www.isuyu.cn:8086/admin 客户端: www.isuyu.cn:8086/index #### 服务端当前在线数和在线人不是异步的,接受客户端的信息是异步的,所有在所有用户连接完成后刷新一次服务端就好 - 支持给一人推送信息,多人推送以及全部推送 个人推送和多人推送只要在多选框选择要推送的人,然后点击发送 全部推送 只需点击全部发送就好 ![演示gif](https://suyu-img.oss-cn-shenzhen.aliyuncs.com/demo.gif) ### Websocket Q: Websocket是什么? A: 是一种在单个TCP连接上进行全双工通信的协议。 Q: 作用是什么? A: 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中, 浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 Q: 优缺点是什么? A:优点:客户端与服务端之间通讯取代了原先轮询的方式,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。 缺点: 不支持低端的浏览器,这种情况就只能采用之前的轮询方式。 ```js //传统轮询询问方式 var ask = function() { $.ajax({       url:'轮询地址',       data:"user=client1",       type:'post',       success:function(res){         if(res.data.status == true){ console.log('服务端推送信息:%s',res.data.message) //TODO 对服务端推送的信息进行处理 //清除定时器 clearInterval(loopAsk);         }       }     }) } var loopAsk = setTimeout(ask,1000); 客户端:我是普通用户客户端1有我的信息嘛 服务端:我查一下,没有 客户端:我是普通用户客户端1有我的信息嘛 服务端:我再查一下,还是没有 客户端:我是普通用户客户端1有我的信息嘛 服务端:我再查一下,还是没有(已经有点不耐烦) 客户端:我是普通用户客户端1有我的信息嘛 服务端:我再查一下,谢天谢地,有了,终于可以摆脱这个穷逼啦.信息内容是:你妈叫你回家吃饭 最后客户端拿着信息回家吃饭啦 ``` ```js //websocket方式 var ws = null; //和服务端进行连接的 if ('WebSocket' in window){ ws = new WebSocket("ws://127.0.0.1:8086/socketServer/client2"); } else{ console.log("该浏览器不支持websocket"); } //接受来自服务端推送的信息 ws.onmessage = function(evt) { console.log('服务端推送信息:%s',evt.data) }; //断开连接触发 ws.onclose = function(evt) { console.log("client2成功断开服务端") }; //和服务端连接成功触发 ws.onopen = function(evt) { console.log("client2连接服务端成功") }; 客户端2: 那谁你过来一下,我要在你这办个会员,有我的信息记得发送给我。 服务端:好的,老板请把你的联系方式留下。 此时有一条某某发送给客户端2的信息,看到信息后服务端立马拿起啦手中的电话打给客户端2 服务端:老板,这里有条您的信息,内容是:老公,你单手开法拉利的样子真帅。 此时又有一条某某发送给客户端2的信息,看到信息后服务端立马拿起啦手中的电话打给客户端2 服务端:老板,这里有条您的信息,内容是: xxxxx ```