小程序模板網(wǎng)

黃秀杰---小程序?qū)覹ebSocket掃盲(PHP后端)

發(fā)布時(shí)間:2018-04-21 09:05 所屬欄目:小程序開發(fā)教程

安裝 Gateway過(guò)程

1、下載gateway zip包linux版,http://www.workerman.net/download

2、使用Mac自帶的php無(wú)效,報(bào)Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html,沒有去深究怎么安裝擴(kuò)展,而是改用了xmapp的可以

3、嘗試使用小程序連接,小程序沒有執(zhí)行沒有報(bào)錯(cuò)
原因是:協(xié)議寫錯(cuò),正確寫法是ws://,我錯(cuò)寫成wss://

4、Error during WebSocket handshake: Invalid status line
原因是web socket 協(xié)議不一樣,導(dǎo)致不通,workerman demo自帶的的text協(xié)議,用于telnet調(diào)試

通過(guò)改動(dòng)start_gateway.php第21行

$gateway = new Gateway("websocket://0.0.0.0:8282");

于是就成功了

5、通過(guò)onSocketMessage接收服務(wù)端發(fā)來(lái)的消息

小程序代碼:

onLoad: function () {
    wx.connectSocket({
      url: 'ws://127.0.0.1:8282',
      success: function (res) {        console.log('連接成功')
      },
      fail: function (res) {        console.log('連接失敗')
      }
    })

    wx.onSocketOpen(function(res) {      console.log('WebSocket連接已打開!')
      wx.sendSocketMessage({
        data: "huangxj"
      })
    })

    wx.onSocketError(function(res){      console.log('WebSocket連接打開失敗,請(qǐng)檢查!')
    })

    wx.onSocketMessage(function(res) {      console.log('收到服務(wù)器內(nèi)容:' + res.data)
    })

  }

順便記錄2條關(guān)于php的命令

php --ini 查看php.ini所在目錄
php -m 查看已安裝哪些擴(kuò)展



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/23827.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢