在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 中国大陆许可协议进行许可。

posted @   pocoui  阅读(257)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示