实现微信小程序进行WebSocket实时双向通讯
在项目中引入 weapp.socket.io.js 文件
在 utils 文件中建立 socket.js 文件
在 socket.js 文件中写入:
const io = require("../lib/weapp.socket.io.js"); // 引入 socket.io
const App = getApp();
let wsStatus = false; let onSocket = null; onSocket = io("wss://xxxxx(socket路径)", { transports: ['websocket'] })// 连接 socket
export const connect = function (cb) { if (!onSocket) { onSocket.on('connect', function (res) { // 监听socket 是否连接成功
cb(true, onSocket) wsStatus = true }) // onSocket.on('login', function (res) {
// console.log(res)
// })
setTimeout(function () { // 超时10秒,返回false
if (!wsStatus) { cb(false, onSocket) } }, 10000) } else { cb(true, onSocket) } }
在页面js中使用
//index.js
const app = getApp() const socket = require("../../utils/socket.js"); Page({ data: { motto: 'Hello World', }, onLoad: function () { var that = this;
// 监听socket 是否连接成功
socket.connect((status, ws) => {
// 连接成功
if (status) {
// 向服务端发送消息
ws.emit('connect', { msg: 'Hello World' }); // 参数一:发送消息的socket名,参数二: 发送的数据
// 接受服务端传来的消息
ws.on('connect', (res) => { // 参数一:接收消息的socket名,参数二:返回的信息 function
console.log(res) });
}else { // ...连接超时
} }) }, })