工作需要,后端给了我一个长链接的接口,需要使用socket.io来连接
本地项目是Taro来架构的,再转换成微信小程序,于是直接从官方install了socket.io的依赖,
但是连不上,控制台没有console,没有报错,
于是本地新建了一个reactDemo,装了依赖,可以正常连接后端,那应该就不是后端的问题了
是小程序的问题 小程序不支持socket.io
import { io } from "socket.io-client";
const baseUrl = 'http://192.201.201.175:7001'
socket.corrent = io.connect(baseUrl, {
reconnectionDelayMax: 10000,
reconnectionAttempts: 1,
autoConnect: true,
withCredentials: true,
query: {
"room": 'camera',
"user_id": "11111"
}
});
socket.corrent.on('connect', () => {
console.log("连接成功", socket.corrent);
socket.corrent.on(socket.corrent.id, function (data) {
console.log(65666, data)
});
});
于是找了好多资料,反正就是有坑,尝试过各种方法,和后端确认的版本,后来找到一个weapp.socket.io ,有些用户说可以用,但是我依旧用不了,于是乎放弃这个,继续找,
后来找到一个兼容微信小程序的socket.io-client,wxmp-socket.io-client。
接口和socket.io-client完全一致,支持多websocket链接.
这个项目是微信小程序环境下Socket.IO的客户端。
npm install @holytiny/wxmp-socket.io-client --save
与Socket.IO-client完全兼容, 支持微信小程序环境下多websocket链接。
但是暂未提供打包的版本,请使用微信小程序开发环境的npm支持功能,或者使用支持npm的微信小程序前端框架。
然后直接把打包后的文件,扔进项目中就可以