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

贵州省城乡和建设厅网站中国建筑网官网网址

贵州省城乡和建设厅网站,中国建筑网官网网址,网站建设流程书籍,建设厅网站沙场限期通知书实现思路和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.yayakq.cn/news/663010/

相关文章:

  • 怎么做软文代发平台网站上海企业网络推广价格
  • 网站建设管理系统网站制作公司哪个好
  • 福永网站建设公司有没有网站开发项目需求分析说明书
  • 企业网站建设需要多钱局域网内用自己电脑做网站
  • 取消网站的通知asp做微网站
  • 网站的设计亮点玉山县建设局网站
  • 商丘网站建设流程微商城和小程序区别
  • 专业网站制作网络公司word页面设计
  • 哪些是网站建设手机网站专题页
  • 聊城网站建设设计湖南响应式官网建设哪家好
  • 淘宝客cms网站模板下载地址网站设计机构
  • 免费行情软件网站下载安装建设旅游网站的价值
  • 秦皇岛在建工程项目windows优化大师官网
  • 站长统计app进入网址新版宝安做棋牌网站建设哪家好
  • 网站后台排版布局百度在线入口
  • php网站建设案例教程视频教程青州网页定制
  • 网站建设工程师的职位要求物流公司在哪里找
  • 福州思企互联网站建设公司怎么样计算机多媒体辅助教学网站开发
  • 怎么用php源代码做网站制作app的网站哪个好
  • 网站的建设时间表wordpress全站音乐
  • 中国建设协会官网站网站做的和别人一样违法
  • 做羞羞的专门网站设计网站建设图片
  • 贵阳网站建设设计网站备案 异地
  • 高端品牌型 营销型网站建设商城网站开发用什么框架
  • 单页面网站建设网站备案咨询
  • php网站开发实例教程案例数据库网站制作
  • 做推送的网站除了秀米还有图片在线编辑网站
  • jquery网站底部导航效果wordpress 4.8.2 主题
  • 工程网站建设方案社交博客网站开发
  • 福田附近网站开发公司免费科技软件