tp5中workerman和微信小程序通讯

环境  tp5中安装workerman   (看tp5手册安装)

 

php 层代码    

namespace app\wxone\controller;
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
use Workerman\Lib\Timer;
 
 
class Workers
{
    public function index()
    {
 
        // 证书最好是申请的证书
        $context = array(
            'ssl' => array(
                // 使用绝对路径
                'local_cert'  => '/www/wwwroot/workerman-chat/txkuaiyou.com_bundle.pem', // 也可以是crt文件
                'local_pk'    => '/www/wwwroot/workerman-chat/txkuaiyou.com.key',
                'verify_peer' => false,
            )
        );
        // 这里设置的是websocket协议
        $worker = new Worker('websocket://0.0.0.0:2346    ', $context);
        // 设置transport开启ssl,websocket+ssl即wss
        $worker->transport = 'ssl';
        $worker->onMessage = function($con, $msg) {
            $con->send('ok');
        };
        
        Worker::runAll();
        
    }
}

 

 

创一个入口文件  代码如下

 

#!/usr/bin/env php
define('APP_PATH', __DIR__ . '/application/');
define('BIND_MODULE','wxone/Workers/index');    //workers是控制器   index是方法(代码和public里面的入口文件代码一样  主要就是多了这一行)
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

 

 

然后直接在tp5目录里 执行  php server.php start     (这里我新创建的文件名 叫server.php   可以自己随便命名)

 

小程序代码

wx.connectSocket({  

  url: 'wss://www.oicqzone.com:4431'  

});  

  

wx.onSocketOpen(function(res) {  

   console.log("连接成功");  

    wx.sendSocketMessage('tom');  

   console.log("给服务端发送一个字符串:tom");  

});          

  

wx.onSocketMessage(function(res) {  

  console.log("收到服务端的消息:" + res.data);  

});  

你可能感兴趣的:(php,微信小程序)