小程序对接WebSocket扫盲(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、尝试使用小程序连接,小程序没有执行没有报错
原因是:协议写错,正确写法是ws://,我错写成wss://

4、Error during WebSocket handshake: Invalid status line
原因是web socket 协议不一样,导致不通,workerman demo自带的的text协议,用于telnet调试


通过改动start_gateway.php第21行

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

于是就成功了

5、通过onSocketMessage接收服务端发来的消息

小程序代码:

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('收到服务器内容:' + res.data)
    })

  }

顺便记录2条关于php的命令

php --ini 查看php.ini所在目录
php -m 查看已安装哪些扩展

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_阅读 5,865评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,957评论 25 709
  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 11,285评论 1 161
  • 1.LAMP介绍  LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹阅读 4,756评论 0 1
  • 枝叶里,是曲折的想念;嘴角下,是咖啡的苦涩。 留下的孤独,跨过惆怅;街角的亮光,漫过星空。 模样依旧爱演戏,夕阳无...
    夏天的小蘑菇阅读 2,720评论 6 12

友情链接更多精彩内容