当前位置: 首页 > news >正文

沭阳各乡镇做网站网站怎么添加管理员

沭阳各乡镇做网站,网站怎么添加管理员,巴彦淖尔网站制作开发,社区类网站建设的例子websocket实现简易聊天室 又做了一个关于websocket广播和在线人数统计的练习#xff0c;实现一个简易的聊天室。 前端vue3 前端里的内容主要包含#xff1a; 1.css的animation来实现公告从右到左的轮播。 2.websocket的onmessage里对不同消息的处理。 template实现一个简易的聊天室。 前端vue3 前端里的内容主要包含 1.css的animation来实现公告从右到左的轮播。 2.websocket的onmessage里对不同消息的处理。 templatediv classcommon-layoutel-containerel-headerel-rowel-col :span1div公告/div/el-colel-col :span20div classscroll-containerdiv classtext-scroll公告信息/div/div/el-colel-col :span3 classpaddingleft20在线人数span classspanTip{{onlineCount}}/span/el-col/el-row/el-headerel-containerel-asideel-row v-for(item, index) in onlineUsers :keyindexspan classonlinespan{{item}}/span/el-row/el-asideel-containerel-main v-htmlothermessage/el-mainel-footerel-rowel-col :span22el-input v-modelthis.message :rows2 resizenone typetextarea keyup.entersendMessage()//el-colel-col :span2 classcenterel-button typeprimary clicksendMessage()发送/el-button/el-col/el-row/el-footer/el-container/el-container/el-container/div /templatescript import { ref } from vue; const socket new WebSocket(ws://localhost:8080/chartroom); const othermessageref() const onlineCountref(0) const onlineUsersref([]) const ownref() export default {name: Chart-Room,components: {},data(){return{message:,othermessage,onlineCount,onlineUsers,own}},mounted(){this.connect();},unmounted(){this.beforeDestroy();},methods:{connect() {socket.onopen function() {};socket.onmessage function(event) {if(event.data.indexOf(onlineCount:)-1){onlineCount.valueevent.data.split(:)[1]}else if(event.data.indexOf(onlineUsers:)-1){var userStrevent.data.split(:)[1];onlineUsers.valueuserStr.split(,)}else if(event.data.indexOf(own)-1){own.valueevent.data.split(:)[1]}else{othermessage.value divevent.data/div}};socket.onerror function(event) {console.error(WebSocket error observed:, event);};},beforeDestroy() {if (socket) {socket.close();}},sendMessage() {if (socket.readyState WebSocket.OPEN) {socket.send(own.value:this.message);this.message}},} } /scriptstyle scoped.el-header{background-color:rgb(164, 172, 184);color: rgb(252, 252, 252);text-align: left;padding: 10px 15px;height:40px;}.el-aside{background-color:rgb(204, 209, 214);width:180px;height: 300px;}.el-main{background-color:rgb(246, 250, 253);padding: 10px 10px;white-space: pre-wrap;font-size: 14px;}.el-footer{margin:0px;padding:3px 3px;background-color:rgb(237, 241, 245);}.center{text-align: center;padding: 10px 5px;}.scroll-container {overflow: hidden;white-space: nowrap;text-align: right;}.text-scroll {display: inline-block;/** 实现从右到左的动画效果 */animation: scroll-right 30s linear infinite;}keyframes scroll-right {0% {transform: translateX(100%);}100% {transform: translateX(-100%);}}.paddingleft20{padding-left: 20px;}.spanTip{color: rgb(252, 229, 179);}.onlinespan{margin:10px;color: rgb(85, 106, 128);} /style后端javamongodb 1.config配置 Configuration EnableWebSocket public class ChartConfig implements WebSocketConfigurer {Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(chartHandler(), /chartroom).setAllowedOrigins(*); // 允许跨域}Beanpublic ChartHandler chartHandler() {return new ChartHandler();} }2.处理连接成功后增加在线人数、断开连接后减少在线人数以及广播和单独发送消息。 public class ChartHandler extends TextWebSocketHandler {private static final SetWebSocketSession sessionsSet Collections.synchronizedSet(new HashSet());/*** 接收消息*/Overridepublic void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {//记录到mongodbMapString, String map new HashMap();map.put(time, new Date().toString());String msgmessage.getPayload().trim();map.put(message, msg.split(:)[1]);SimpleDateFormat sdf new SimpleDateFormat(yyyyMMdd);String currentDate sdf.format(new Date());MongoDBUtil.insertContent(currentDate, msg.split(:)[0], map);// 发送消息给客户端sendMessageToAll(message.getPayload());}/*** 连接后的处理*/Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {sessionsSet.add(session);sendMessageToAll(onlineCount: sessionsSet.size());sendMessageToAll(onlineUsers: getListUsers());session.sendMessage(new TextMessage(own:【游客】session.getId().substring(0, 8)));}/*** 获取在线用户列表*/private String getListUsers() {ListString usersList new ArrayList();for(WebSocketSession item : sessionsSet){String userName【游客】item.getId().substring(0, 8);if(!usersList.contains(userName)){usersList.add(userName);}}return String.join(,, usersList);}/*** 关闭连接后的处理*/Overridepublic void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {sessionsSet.remove(session);sendMessageToAll(onlineCount: sessionsSet.size());sendMessageToAll(onlineUsers: getListUsers());}/*** 广播发送消息*/private void sendMessageToAll(String message) {sessionsSet.forEach(item - {try {item.sendMessage(new TextMessage(message));} catch (IOException e) {e.printStackTrace();}});} }
http://www.hkea.cn/news/14438867/

相关文章:

  • 最近网站改版文章突然不收录网页设计100种方法
  • 网站访问量统计怎么做国外网站卖货平台
  • 网页设计做音乐网站小说关键词生成器
  • 深圳网站建设制作公司排名wordpress 4.7.3
  • 网站认证是什么意思投投app最新投票平台
  • 河池市住房城乡建设网站wordpress加载长图
  • 西安网站建设新闻wp网站建设模板
  • 简述网站技术解决方案wordpress微信缩图
  • 常州微信网站建设价位口碑营销的产品
  • 网站域名重要吗网站建设需要多少钱费用
  • 网站制作语言关于数据机房建设的网站
  • 提供网站建设备案怀化网站优化哪个好
  • ps制作个性字网站有没有网站开发软件
  • 如何做网站发产品销售wordpress建淘宝客
  • 广州海珠区赤岗 新港网站建设公司wordpress多城市seo
  • 博山做网站竞价排名推广方案
  • 长沙品牌logo设计公司网站推广和优化教程
  • 襄阳网站制作购物网站系统建设方案
  • 北京网站制作策划给别人做网站去掉版权
  • 常德网站建做优品购类似网站
  • 梅州市工程建设交易中心网站新手学做网站12天婴
  • 做的好的食用菌公司网站有天津最好的网站建设
  • pc端手机网站 样式没居中公众号设计平台
  • 企业门户网站功能列表信息科技公司名字
  • phpwind的代表网站网站建设都包含哪些内容
  • 杭州桐庐网站建设dede页码的调用 网站
  • 汽车行业网站建设wordpress注册显示密码
  • pc端和手机端网站建设宝应县建设局网站
  • 基于jsp企业网站开发设计答辩ppt用什么自己做网站吗
  • 什么网站可以买世界杯好的网站你们会感谢我的