在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发生变更,但是我却没有更改代码。
但是我一直在排查代码的错误,忽略了这个。
本文作者:pocoui
本文链接:https://www.cnblogs.com/poco-o/p/16786991.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步