返回博客列表页
使用 socket.io 做一个在线聊天室

安装
npm install socket.io
socket 分为前后端两个库,分别是 服务端的 socket.io 和 客户端的 socket.io-client。
使用 vue+express+socket 搭建聊天服务
在 vue 中使用时,可以使用封装的 vue-socket.io 库更简便开发,服务端则使用 socket.io 与 express 搭配建立服务。
vue 使用 vue-socket.io
安装
npm i socket.io-client vue-socket.io
连接 socket 服务
import io from "socket.io-client";
import VueSocketIo from "vue-socket.io";
Vue.use(
new VueSocketIo({
debug: true,
connection: io(window.location.origin)
})
);
发送消息到服务端
this.$socket.emit("server-message", {
msg: "这是一条消息"
});
监听服务端的消息
this.sockets.subscribe("client-message", res => {
console.log(res);
});
express 使用 socket.io
安装
npm i socket.io
监听客户端连接
io.on("connection", socket => {
//so something
});
监听客户端消息
socket.on("server-message", res => {
console.log("客户端发送信息:", res);
});
发送消息到对应连接的客户端
socket.emit("client-message", {
msg: "只有自己能看到的消息"
});
发送消息到所有连接的客户端
io.emit("client-message", {
msg: "所有人都能看到的消息"
});