在uniapp使用socket.io
首先使用node.js构建后端
参考官方文档
// 首先搭建服务器
var express = require("express");
var app = express();
var server = require("http").createServer(app);
var io = require("socket.io")(server, { cors: true }); //允许跨域
// 监听connecton
io.on("connection", (socket) => {
console.log("a user connected");
});
// 启动服务器来侦听连接
server.listen(3001, () => {
console.log("listening on 3001");
});
配置nodemon
如果node端有修改,nodemon会自动重启项目。
"scripts": {
"start": "nodemon ./src/app.js"
}
客户端建立socket实例
import io from '@hyoga/uni-socket.io';
const socket = io('http://iPv4地址:3001', {
query: {},
transports: [ 'websocket', 'polling' ],
timeout: 5000,
});
socket.on('connect', () => {
// ws连接已建立,此时可以进行socket.io的事件监听或者数据发送操作
console.log('ws 已连接');
// socket.io 唯一连接id,可以监控这个id实现点对点通讯
const { id } = socket;
}
启动
在浏览器的console出现ws 已连接
在node端出现a user connected
socket连接建立成功。
离谱的错误
在一周之前我已经写好了关于socket通信的前后端代码,但是一周以后,再次运行项目报错。

原因是ipv4发生变更,但是我却没有更改代码。
但是我一直在排查代码的错误,忽略了这个。

浙公网安备 33010602011771号