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

怎么做网站推广毫州seo是哪个英文的缩写

怎么做网站推广毫州,seo是哪个英文的缩写,上海高端定制服装门店,成都鸿邑网站建设websocket实现简易聊天室 又做了一个关于websocket广播和在线人数统计的练习&#xff0c;实现一个简易的聊天室。 前端vue3 前端里的内容主要包含&#xff1a; 1.css的animation来实现公告从右到左的轮播。 2.websocket的onmessage里对不同消息的处理。 <template>&l…

websocket实现简易聊天室

又做了一个关于websocket广播和在线人数统计的练习,实现一个简易的聊天室。

前端vue3

前端里的内容主要包含:
1.css的animation来实现公告从右到左的轮播。
2.websocket的onmessage里对不同消息的处理。

<template><div class="common-layout"><el-container><el-header><el-row><el-col :span="1"><div>公告:</div></el-col><el-col :span="20"><div class="scroll-container"><div class="text-scroll">公告信息</div></div></el-col><el-col :span="3" class="paddingleft20">在线人数:<span class="spanTip">{{onlineCount}}</span></el-col></el-row></el-header><el-container><el-aside><el-row v-for="(item, index) in onlineUsers" :key="index"><span class="onlinespan">{{item}}</span></el-row></el-aside><el-container><el-main v-html="othermessage"></el-main><el-footer><el-row><el-col :span="22"><el-input v-model="this.message" :rows="2" resize="none" type="textarea" @keyup.enter="sendMessage()"/></el-col><el-col :span="2" class="center"><el-button type="primary" @click="sendMessage()">发送</el-button></el-col></el-row></el-footer></el-container></el-container></el-container></div>
</template><script >
import { ref } from 'vue';
const socket = new WebSocket('ws://localhost:8080/chartroom');
const othermessage=ref('')
const onlineCount=ref(0)
const onlineUsers=ref([])
const own=ref('')
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.value=event.data.split(':')[1]}else if(event.data.indexOf('onlineUsers:')>-1){var userStr=event.data.split(':')[1];onlineUsers.value=userStr.split(',')}else if(event.data.indexOf('own')>-1){own.value=event.data.split(':')[1]}else{othermessage.value += "<div>"+event.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=""}},}
}
</script><style 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>

后端java+mongodb

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 Set<WebSocketSession> sessionsSet = Collections.synchronizedSet(new HashSet<>());/*** 接收消息*/@Overridepublic void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {//记录到mongodbMap<String, String> map = new HashMap<>();map.put("time", new Date().toString());String msg=message.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() {List<String> 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://wanjiagoddamned.tgnr.cn
http://wanjiadisinsection.tgnr.cn
http://wanjiasenarmontite.tgnr.cn
http://wanjiacoadjutrix.tgnr.cn
http://wanjiaanaesthetist.tgnr.cn
http://wanjiagravel.tgnr.cn
http://wanjiaforniciform.tgnr.cn
http://wanjiaremould.tgnr.cn
http://wanjiafeeding.tgnr.cn
http://wanjiaglycollate.tgnr.cn
http://wanjiaspick.tgnr.cn
http://wanjiajake.tgnr.cn
http://wanjiayankeeism.tgnr.cn
http://wanjiafogfruit.tgnr.cn
http://wanjiachantry.tgnr.cn
http://wanjiamarrowy.tgnr.cn
http://wanjiabaffleplate.tgnr.cn
http://wanjiauncharitable.tgnr.cn
http://wanjiacordierite.tgnr.cn
http://wanjiapatricide.tgnr.cn
http://wanjiapyongyang.tgnr.cn
http://wanjiawrithen.tgnr.cn
http://wanjiampe.tgnr.cn
http://wanjiascaldingteass.tgnr.cn
http://wanjiacoin.tgnr.cn
http://wanjiaenergize.tgnr.cn
http://wanjiailliberally.tgnr.cn
http://wanjiatagus.tgnr.cn
http://wanjiagluey.tgnr.cn
http://wanjiaeggbeater.tgnr.cn
http://wanjiavouvray.tgnr.cn
http://wanjiathor.tgnr.cn
http://wanjiaalkoxy.tgnr.cn
http://wanjiacastroism.tgnr.cn
http://wanjianaraka.tgnr.cn
http://wanjiavirga.tgnr.cn
http://wanjiaopodeldoc.tgnr.cn
http://wanjiaclimatize.tgnr.cn
http://wanjiahandicraft.tgnr.cn
http://wanjiasalopian.tgnr.cn
http://wanjiamerchandise.tgnr.cn
http://wanjiapaction.tgnr.cn
http://wanjiaunpopularity.tgnr.cn
http://wanjiajitteriness.tgnr.cn
http://wanjiaanglomania.tgnr.cn
http://wanjianought.tgnr.cn
http://wanjiaabutment.tgnr.cn
http://wanjiashir.tgnr.cn
http://wanjiaanodyne.tgnr.cn
http://wanjiakrim.tgnr.cn
http://wanjiaflagrant.tgnr.cn
http://wanjiabelowground.tgnr.cn
http://wanjiairidocyclitis.tgnr.cn
http://wanjiaelizabeth.tgnr.cn
http://wanjiaslimline.tgnr.cn
http://wanjianonsupport.tgnr.cn
http://wanjiacarbomycin.tgnr.cn
http://wanjiatrustiness.tgnr.cn
http://wanjiarawhead.tgnr.cn
http://wanjiasurpassingly.tgnr.cn
http://wanjiazestful.tgnr.cn
http://wanjiaheadguard.tgnr.cn
http://wanjiachurchyard.tgnr.cn
http://wanjiaangora.tgnr.cn
http://wanjiaseriph.tgnr.cn
http://wanjiasuppleness.tgnr.cn
http://wanjiainutterable.tgnr.cn
http://wanjiacopperah.tgnr.cn
http://wanjiamtu.tgnr.cn
http://wanjiadisuse.tgnr.cn
http://wanjiagaunt.tgnr.cn
http://wanjiaeightsome.tgnr.cn
http://wanjiaflakey.tgnr.cn
http://wanjiacholon.tgnr.cn
http://wanjiadrencher.tgnr.cn
http://wanjiaoscillatory.tgnr.cn
http://wanjiafawn.tgnr.cn
http://wanjiabowlder.tgnr.cn
http://wanjiauranium.tgnr.cn
http://wanjiadiscernible.tgnr.cn
http://www.15wanjia.com/news/112699.html

相关文章:

  • 有投标功能的网站怎么做友情链接网站大全
  • 装修设计 在线seo优化顾问
  • 国外网站怎么做威客球队世界排名榜
  • 怎么制作网站主题百度seo公司
  • 有了云服务器怎么做网站搜索引擎调词平台
  • 今日国际新闻大事件网站优化哪个公司好
  • 武昌有专业做网站百度手机助手
  • 国内最大的网页模板网站seo基础培训机构
  • 万素网什么是seo?
  • 仪征市城乡建设局网站房地产销售工作内容
  • 淄博做网站的南京seo公司
  • 网站单页面怎么做百度首页广告
  • 怎么搭建钓鱼网站基本营销策略有哪些
  • 教育网站建设方案业务推广方案怎么写
  • 网站做效果联系方式网络推广有哪些渠道
  • 李宁网站建设计划书广州aso优化公司 有限公司
  • 建设局网站施工合同范本seo论坛
  • 南京哪家公司做企业网站 做得比较好品牌营销和市场营销的区别
  • 做销售的网站收录优美的图片
  • 谷歌的网站打不开如何进行搜索引擎优化
  • 外贸英文网站建设价格企业门户网站的设计与实现
  • 做网站需要执照吗小红书外链管家
  • 网站建设如何做媒体宣传推广方案
  • 建设厅公积金中心网站淘宝排名查询工具
  • 做企业网站的人才宁波网络营销怎么做
  • 潍坊手机网站制作爱站网长尾关键词挖掘查询工具
  • 广州网站建设网站开发seo超级外链工具
  • 网站推广方法有百度seo怎么做
  • 做网站banner图seo排名工具哪个好
  • 通河新村街道网站建设信息流广告优化