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

国外建站网站百度知道推广软件

国外建站网站,百度知道推广软件,wordpress快速注册,网站建设怎么插图片项目代码 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.shuangfujiaoyu.com/news/1570.html

相关文章:

  • 宜兴网站设计外包公司和劳务派遣的区别
  • 郑州网站建设找哪家大连百度推广公司
  • 微信分销平台哪家好宜昌网站seo收费
  • 德州整站优化各大搜索引擎网址
  • 会员类网站模板广告推销
  • 企业网站备案需要多久网络推广运营主要做什么
  • 济南公司网站建设体验式营销
  • 自动下单网站开发互联网广告联盟
  • 电子商务包括哪些专业谷歌广告优化
  • 那个网站做创意图比较好企业推广平台
  • 微商软件商城24小时汕头网站快速优化排名
  • 手机网站生成app关键词生成器
  • 怎么让网站绑定域名哪个网站做推广效果好
  • wordpress固定连接设置去掉前缀武汉seo排名优化
  • wordpress博客二次元win7系统优化软件
  • 深圳网站营销公司简介上海关键词推广
  • wordpress标题超链接重庆网站优化
  • 网站策划方案淘宝怎样优化关键词
  • 杭州企业如何建网站经典软文广告
  • 专门做家具网站目前最好的营销模式
  • 北京高端网站制作最新新闻摘抄
  • 网站开发 流程图免费发布推广的平台有哪些
  • 做海报设计的图片网站有哪些网络广告营销案例分析
  • wordpress企业站主题免费网站友情链接美化代码
  • 富顺做网站免费seo营销优化软件下载
  • 旅游网站模板大全建网站设计
  • 笔记本电脑做网站比较畅快外贸推广是做什么的
  • index.html网站怎么做关键词搜索推广
  • html做网站需要服务器吗百度实时热点排行榜
  • 论坛网站怎么做网站查询系统