實現微信小程序進行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 { // ...連接超時
} }) }, })