马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
安装安装vue3相应式库服务端创建毗连--nodejs- // Nodejs 端 index.js
- // 引入 WebSocket 库
- const WebSocket = require('ws');
- // 引入 Vue 响应式 API
- const reactivity = require('@vue/reactivity')
- const {
- ref,
- computed,
- watch
- } = reactivity
- // 创建 WebSocket 服务器
- const wss1 = new WebSocket.Server({
- port: 8001
- });
- const wss2 = new WebSocket.Server({
- port: 8002
- });
- // 记录数字
- const count = ref(0)
- // 计算出 10 倍
- const sum = computed(() => 10 * count.value)
- // 连接1
- wss1.on('connection', (ws) => {
- // 处理来自客户端的消息
- ws.on('message', (message) => {
- // count 变化
- count.value = Number(String(message))
- });
- // 监听 count,并通知页面2
- watch(count, v => {
- ws.send(v)
- })
- });
- // 连接2
- wss2.on('connection', (ws) => {
- // 处理来自客户端的消息
- ws.on('message', () => {
- // 执行清空命令
- count.value = 0
- });
- // 监听 sum,并通知页面2
- watch(sum, v => {
- ws.send(v)
- })
- // 模拟定时任务
- setTimeout(() => {
- ws.send(sum.value)
- }, 3600 * 12);
- });
复制代码 第一个页面毗连8081--page1.vue- <template>
- <div class="flex justify-center mb-3 text-4xl font-bold">页面1</div>
- <Button type="primary" @click="click">点击更新数据</Button>
- <div class="text-lg">当前数值:{{ count }}</div>
- </template>
- <script setup lang="ts">
- import { Button } from 'ant-design-vue';
- import { ref } from 'vue';
- const count = ref(0);
- // 创建 WebSocket 客户端
- const socket = new WebSocket('ws://localhost:8001');
- const click = () => {
- count.value++;
- // 发送消息到服务器
- socket.send(`${count.value}`);
- };
- // 接受服务端的消息
- socket.addEventListener('message', e => {
- count.value = e.data;
- });
- </script>
复制代码 第二个页面毗连8082--page2.vue- <template>
- <div class="flex justify-center mb-3 text-4xl font-bold">页面2</div>
- <Button type="primary" @click="click">清空数据</Button>
- <div class="text-lg">当前数值:{{ count }}</div>
- </template>
- <script setup lang="ts">
- import { Button } from 'ant-design-vue';
- import { ref } from 'vue';
- const count = ref(0);
- // 创建 WebSocket 客户端
- const socket = new WebSocket('ws://localhost:8002');
- const click = () => {
- // 发送消息到服务器
- socket.send('Hello, server!');
- };
- // 接受服务端的消息
- socket.addEventListener('message', e => {
- count.value = e.data;
- });
- </script>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |