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

安裝 Gateway過程

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

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

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

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


通過改動start_gateway.php第21行

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

于是就成功了

5、通過onSocketMessage接收服務端發(fā)來的消息

小程序代碼:

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連接打開失敗,請檢查!')
    })

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

  }

順便記錄2條關于php的命令

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

小程序源碼地址:http://git.oschina.net/dotton/demo-wx,即時通信文件夾下

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 2,044評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評論 25 709
  • 架構(gòu)師必須知道的26項PHP安全實踐 PHP是一種開源服務器端腳本語言,應用很廣泛。Apache web服務器提供...
    meng_philip123閱讀 6,218評論 1 161
  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,240評論 0 1
  • 枝葉里,是曲折的想念;嘴角下,是咖啡的苦澀。 留下的孤獨,跨過惆悵;街角的亮光,漫過星空。 模樣依舊愛演戲,夕陽無...
    夏天的小蘑菇閱讀 375評論 6 11

友情鏈接更多精彩內(nèi)容