npm install socket.io
感受和vuex redux 差很少
html
chat_server.jsvue
const express = require("express") const app = express() const http = require("http").Server(app) const socket = require("socket.io") const io = socket(http) app.use( express.static("public") ) let onlineUser = {} let onlineCount = 0 io.on("connection",function(socket){ socket.on("login",function(obj){ socket.name = obj.userid if( !onlineUser.hasOwnProperty(obj.userid) ){ onlineUser[obj.userid] = obj.username onlineCount++ } io.emit("login",{ onlineUser:onlineUser, onlineCount:onlineCount, user:obj }) console.log( obj.username + '加入了聊天室' ) console.log("在線人數: " + onlineCount ) }) }) http.listen(80,function(){ console.log(80) })
index.htmlvuex
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p>test</p> <script src="https://cdn.bootcss.com/socket.io/1.7.3/socket.io.js"></script> <script> var socket = io('http://localhost'); socket.emit("login",{userid:Date.now(),username:'taoqun'},function(data){ console.log(data) }) socket.on("login",function(data){ console.log(data) }) </script> </body> </html>