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

网站建设jutuibao迅雷磁力链bt磁力天堂下载

网站建设jutuibao,迅雷磁力链bt磁力天堂下载,阜阳微商城网站建设,怎么做关于梦想的网站免费的实现思路和vue中是一样的。如果想看思路可以看这篇文章:websocket 直接上可以运行的代码: 一、后端nodeJS代码: 1、新建项目文件夹 2、初始化项目: npm init -y 3、项目里安装ws npm i ws --save 4、nodeJS代码&#xff1…

实现思路和vue中是一样的。如果想看思路可以看这篇文章:websocket

直接上可以运行的代码:

一、后端nodeJS代码:

1、新建项目文件夹

2、初始化项目:

npm init -y

3、项目里安装ws

npm i ws --save

4、nodeJS代码:

chat.js

const WsServer = require("ws").Server;// 创建webscoket的服务器对象
const server = new WsServer({ port: 9000 });// 绑定connection事件(当有浏览器端连接时,会触发)let allClient = []; //保存着所有的客户端server.on("connection", (client) => {console.log("有人连接了");// 保存连接的客户端allClient.push(client);console.log("allClient.length", allClient.length);// 给所有客户端发送人数:sendCount();// 给当前客户端对象绑定message事件(当前该客户端给服务器发送消息时,触发client.on("message", (str) => {console.log("有人发了消息",str);// 把收到的消息转发给其它客户端sendMsg(client,str);});client.on("close", () => {sendMsg(client,"有人退出了");allClient = allClient.filter((item) => item != client);sendCount();});
});
// 发送消息
function sendMsg(client,content) {allClient.forEach((item) => {if (item != client) {item.send(JSON.stringify({status: "msg",content,}));}});
}// 发送人数
function sendCount() {allClient.forEach((item) => {item.send(JSON.stringify({status: "count",count: allClient.length,}));});
}

5、运行后端项目:

nodemon chat

二、前端uni-app代码

1、uni-app代码

<template><view><view>聊天:在线人数:{{count}}</view><view class="chat-box" v-html="allmsg"></view><input v-model="msg" /><button @click="sendMsg">发送</button><button @click="exitChat">退出聊天</button></view>
</template><script>export default {data() {return {allmsg: "",msg: "",count: 0}},onLoad() {const socketTask = uni.connectSocket({url: "ws://127.0.0.1:9000/",success() {}});console.log("socketTask", socketTask);uni.onSocketOpen(() => {console.log("服务器已经打开链接");// ws.send("大家好,我是新来的");uni.sendSocketMessage({data: "大家好,我是通过uni来的"})})uni.onSocketMessage((res) => {console.log('收到服务器内容:' + res.data);// this.allmsg += `<view>${res.data}</view>`;const obj = JSON.parse(res.data);if (obj.status == "msg") {console.log("typeof obj.content", typeof obj.content);console.log("obj.content", obj.content);this.allmsg += `<view>${this.blobToStr(obj.content.data)}</view>`;} else if (obj.status === "count") {console.log("obj.count", obj.count);this.count = obj.count;}})},methods: {exitChat(){uni.closeSocket();},blobToStr(data) {var enc = new TextDecoder("utf-8");var arr = new Uint8Array(data);return enc.decode(arr)},sendMsg() {uni.sendSocketMessage({data: this.msg})}}}
</script><style scoped>.chat-box {width: 100%;height: 800rpx;border: 1px solid red;}
</style>

2、运行项目,界面如下:

解释:当打开前端页面时,后端的socket会自动连接上

 

 

http://www.yidumall.com/news/103256.html

相关文章:

  • 长沙专业网站制作设计镇江网站seo
  • 向wordpress发帖插件西安网络推广优化培训
  • 深圳建筑人才网招聘信息seo蜘蛛屯
  • 网站设计与制作培训班社群营销的十大步骤
  • 手机游戏制作软件appseo排名计费系统
  • 个人网站建设方案买链接官网
  • 中国住房和城乡建设部百度seo怎么优化
  • 老网站用新域名军事新闻最新
  • 委托广告公司做的网站违法了优化搜索曝光次数的方法
  • 广药网站建设试卷深圳全网推广效果如何
  • 专业做设计的网站seo营销推广全程实例
  • 保定官网优化技巧合肥网络公司seo
  • 网站被做301技术培训机构
  • 石家庄 外贸网站建设公司西安自助建站
  • 网站建设乌鲁木齐百度关键词排名推广话术
  • 集团网站设计公司电子商务营销方法
  • php cms网站建设seo入门基础知识
  • 南京医院手机网站建设seo技术快速网站排名
  • 做一个网站需要多少人线上营销方案
  • 检查网站的跳转路径是否清晰 哪里要优化seo交互论坛
  • 网站跳出率高百度云官方网站
  • 做网站的p什么2003免费的大数据分析平台
  • 试用期工作总结百度推广优化师培训
  • 网站开发需求模板模板快速网站排名提升
  • 运城注册公司西安优化网站公司
  • 公司怎么在百度做网站什么叫seo
  • 安徽网站备案要多少时间厦门网站流量优化价格
  • 万网是干什么用的沈阳百度seo关键词优化排名
  • 知名网站建设开发青岛网站建设有限公司
  • 模板免费网站站长工具seo推广秒收录