关于node+vue实现聊天功能数据传输问题

我在客户端登录的时候,node服务器会将登录的用户信息储存起来,下一个用户再进行登录的时候,node会继续将该用户信息储存起来,但是,再第二个登录的用户确实可以拿到当前在线的所有数据,但是第一个登录的用户无法拿到后一个登录的用户信息!

我开启定时器持续调用node绑定的方法才可以实时拿到node储存的数据。有什么别的办法可以实现客户端之间数据实时更新?
vue客户端

img

node服务端

img

第二个用户登录的时候,服务端主动给客户端推送消息呢

不开启定时器的情况下如何解决这个问题

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7461741
  • 除此之外, 这篇博客: 手写一个服务器代码将 《vue电商后台管理系统》部署上去 上线、打包中的  通过node创建服务器,自己写一个简单服务器 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1:在根目录创建一个文件夹server  cd 进入sever目录

    2: 输入命令npm init -y一路回车 初始化得到package.json

    3:初始化包之后,输入命令cnpm i express -S下载依赖

    4:复制dist文件夹,粘贴到server

    5:server文件夹中创建app.js文件,编写代码如下

    //学过node都知道,只是导入express,我们刚才下载好了
    const express = require('express')
    // 将方法赋值给app
    const app = express()
    //使用中间件加载静态资源./dist,我们需要将dist粘贴到同级目录
    app.use(express.static('./dist'))
    //监听端口8888,端口号随你写建议在3000以上不予默认端口冲突,就类似酒店的房门号,你我
    //都是汉子可不能住一间,
    app.listen(8888,()=>{
        console.log("服务器成功运行")
    })
    

    6:在终端中输入 node app.js  运行服务器 

    效果图:

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16


    我自己在浏览器url输入:http://localhost:8888/  你要访问需要我俩在同一局域网,输入我电脑ip:端口号   如下图:

    这样就部署在我们自己写的服务器了,你输入我的电脑id和端口,我们在同一局域网你也可以访问这个项目了,这是我的电脑充当了服务器,不过要一直开着终端,可以借用插件,开一个进程,这样我关闭终端,你依旧可以访问项目

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16