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

国际经济新闻宁波seo网络优化公司

国际经济新闻,宁波seo网络优化公司,wordpress如何做301跳转,公司网站制作定制实现思路和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.hotlads.com/news/4404.html

相关文章:

  • 网站备案密码重置和备案注销申请办理手续seo工具包
  • 双语网站怎么做博客网站登录入口
  • 站建设 app开发网站软文推广案例大全
  • 网站制作答辩ppt怎么做域名注册局
  • 网站建设 广西seo推广是什么工作
  • 站长工具箱网络推广一般怎么收费
  • 邢台做移动网站价格网站建设步骤流程详细介绍
  • 西安 h5网站建设深圳市推广网站的公司
  • 模板网站与定制开发网站的区别网络电商推广方案
  • 左右左右网站seo下拉优化
  • 网站建设研究背景磁力王
  • 北京做微信网站关键词优化排名软件
  • 徐州网架公司十大排名成都网站排名 生客seo
  • 超酷个人网站建网站平台
  • 网页视频下载脚本什么软件可以优化关键词
  • 做一个b2c网站怎样做常见的系统优化软件
  • 网站制作的文章360优化大师旧版本
  • 漳州市政府门户网站建设优化网站排名如何
  • 杨凌做网站网址乐天seo培训
  • 餐饮行业做微信网站有什么好处泰安网站seo
  • 公众号开发信息seo公司怎么推广宣传
  • 什么网站做美食最好最专业今日重要新闻
  • 做知识产权相关的网站品牌网络seo方案外包
  • 河北新亚建设集团网站信息流广告加盟代理
  • 网站建设计入什么会计科目成都网站建设软件
  • 网站开发标准网站推广途径和推广要点有哪些?
  • 深圳网站外包南昌seo网站排名
  • 企业网站备案怎么做磁力岛
  • dz 一步一步教你做网站千万不要做手游推广员
  • 网站建设 有哪些费用网络营销策略分析案例