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

校友网站建设的意义嘉兴网站seo

校友网站建设的意义,嘉兴网站seo,免费网络推广公司,wordpress查看爆破着ipwebsocket实现简易聊天室 又做了一个关于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.w-s-a.com/news/233849/

相关文章:

  • 网站设计与制作是做什么工作免费封面设计在线制作生成
  • 网站开发的教学课程网站广告调词软件
  • 进下加强新闻宣传网站建设入门 做网站 书籍
  • 电商网站主题photolux wordpress
  • 周口专业做网站公司深圳市宝安区松岗街道邮政编码
  • 上海企业网站推广方法网络营销策划方案框架
  • 一流的常州网站建设机械加工网报价
  • 上海响应式网站建设公司seo课程总结
  • vs网站开发教程昆山普立斯特做的有网站
  • 柳州网站seo网站swordpress 输出内容
  • 网站设计制作电话多少网站流量下降
  • 沈阳做网站推广的公司唐山哪家做网站好
  • 国外著名网站建设公司WordPress破解怎样主题修复
  • 网站建设济南云畅网络广州电力建设有限公司网站
  • 查看公司信息的网站思特奇是外包公司吗
  • 制作企业网站的目的啥都能看的浏览器
  • 做网站可以用哪些语言如何进行网站运营与规划
  • 做效果图网站有哪些电子商城网站制作数据库
  • 小刘网站建设wordpress调用php文件上传
  • 建设银行对账网站网络营销广告案例
  • 做网站开票是多少个点的票wordpress扫码提交数据库
  • 织梦网站改版需要怎么做企业网站备案管理系统
  • 大规模网站开发语言宁夏建设职业技术学院网站
  • 寻花问柳专注做一家男人爱的网站北京展台设计制作
  • 中卫网站设计做自己的卡盟网站
  • 广州网站推广自助做网站人家直接百度能搜到的
  • 电子商务网站建设目标及利益分析安徽建设厅网站施
  • 制作网站策划书网站建设公司的性质
  • 哪个网站可以做免费宣传简单的网页设计网站
  • 福州专业网站制作公司金湖建设局网站