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

国外建站网站视频号关键词搜索排名

国外建站网站,视频号关键词搜索排名,如何获取所有网站,山东聊城疫情最新消息项目代码 https://github.com/R-K05/Socket.IO- 创建项目 服务端项目和客户端项目 安装Socket依赖 服务端 npm i socket.io 客户端 npm i socket.io-client 客户端添加聊天页面 源码 服务端 app.js const express require("express") const app express()co…

项目代码  https://github.com/R-K05/Socket.IO-

创建项目

服务端项目和客户端项目

安装Socket依赖

服务端 npm i socket.io

客户端 npm i socket.io-client

客户端添加聊天页面

源码 

服务端 app.js

const express = require("express")
const app = express()const { Server } = require("socket.io");const io = new Server(3000, {cors: {// 解决客户端跨域 8080客户端运行端口origin: ["http://localhost:8080"]}
});const userList = []const onlineUsers = {}io.on("connection", (socket) => {const username = socket.handshake.query.usernameif(!username) returnconst userInfo = userList.find(user => username === user.username)if(userInfo){userInfo.id = socket.id}else{userList.push({username,id:socket.id})}io.emit("online",{userList})socket.on('send',({formUsername,targetId,msg}) =>{const toUser = userList.find(user => user.id === targetId)console.log(toUser);// 发送客户端io.to(targetId).emit('receive', { fromUsername: formUsername,toUsername:toUser.username,msg,dataTime:new Date().getTime()});})});app.listen(8000,() =>{console.log("ok");})

客户端 chattingView.vue

<template><div ><ul><template v-for="userinfo of state.userList" :key="userinfo.id"><li v-if="state.username ===userinfo.username ">{{ userinfo.username }}</li><li v-else><a href="javascript:;" @click="selectUser(userinfo)">{{ userinfo.username }}</a></li></template></ul><div v-if="state.targetUser"><h3 >{{ state.targetUser.username }}</h3><input type="text" v-model="state.msgText"><button @click="sendMsg">Send</button></div><div><ul><li v-for="(data,index) of messageList" :key="index"><p>{{ data.formUsername }}:{{ new Date(data.dataTime) }}</p><p>{{data.msg}}</p></li></ul></div></div>
</template><script setup>
import { io } from "socket.io-client";
import { useRouter } from "vue-router";
import { reactive,computed } from "vue";const rouetr = useRouter()const state = reactive({username:rouetr.currentRoute.value.query.username,userList:[],targetUser:null,msgText:'',msgBox:{}
})const messageList = computed(()=>{return (state.msgBox[state.username] && state.targetUser) ? state.msgBox[state.username].filter(item=>{return item.formUsername === state.username ||item.toUsername === state.username}) :[]
})const selectUser = (userinfo) =>{state.targetUser = userinfo}const sendMsg = () =>{if(!state.msgText.length) return;appendMsg({formUsername:state.username,toUsername:state.targetUser.name,msg:state.msgText,dataTime:new Date().getTime()})// 发送socket.emit('send',{formUsername:state.username,targetId:state.targetUser.id,msg:state.msgText})
}const socket = io('http://localhost:3000',{query:{username:state.username}
});socket.on('online',(data)=>{state.userList = data.userList})socket.on('receive',(data)=>{console.log("data===",data);appendMsg(data)})socket.on('error',(err)=>{})function  appendMsg(data) {!state.msgBox[state.username] && (state.msgBox[state.username] =[])state.msgBox[state.username].push(data)  
}
</script>

实现效果

xiaoshaofufu和xiaoningfufu之间通信

xiaoyexianseng 接收不到

 

http://www.tj-hxxt.cn/news/30287.html

相关文章:

  • 做免费网站怎么打广告宣传自己的产品
  • 网站建设基本情况发帖推广百度首页
  • 网站打开是404错误宁波seo关键词费用
  • 自己做网站不用WordPress网站自动提交收录
  • 做网站要费用多少湖北网络推广公司
  • 电影网站模板html百度软件商店
  • 企业网站优化的三层含义搜索
  • 盘锦做网站多少钱外链管理
  • 2021年重大新闻事件小红书seo排名优化
  • 头条今日头条新闻网页青岛网络优化哪家专业
  • 百度上做网站网站建设营销型
  • qq小程序开发平台seo还能赚钱吗
  • aspx做网站百度热度指数排行
  • 网站制作公司 知乎免费拓客软件排行榜
  • 美国做evus的网站北京seo加盟
  • h5免费制作网站廊坊关键词优化平台
  • wordpress全站关闭评论温州网站建设制作
  • 怎么样做微网站备案查询官网
  • 贵州省建设厅网站网络舆情优化公司
  • 做赚钱问卷调查的网站seo基础知识培训
  • 网站服务器ecs怎么提高百度关键词排名
  • 北京网站建设cnevo搜索引擎推广的关键词
  • 网站模板下载好之后如何安装长春网站制作设计
  • shanxi建设银行网站首页推广网站要注意什么
  • 广告设计公司宁波网站seo标题是什么意思
  • 正规品牌网站设计价格seo友情链接
  • 网站开发 会员模块流量推广平台
  • 外包加工网站可靠吗软文生成器
  • 安顺网站开发营销活动推广方案
  • 让网站快速收录360营销推广