- thinkPHP3.2 与workerman 结合
- 首先下载wokerman,放到TP项目下面的ThinkPHP/Library目录,并命名为Workerman
- 除Constants.php以外的所有php文件改为.class.php后缀
- 代码块
Js代码
var uid = sessionStorage.getItem('userid'); // 登录平台用户id, 登录时存入 var ws = new WebSocket("ws://127.0.0.1:2346"); // 连接socket // 初始化连接 ws.onopen = function() { console.log("连接成功"); if(uid != null){ ws.send(userid); // 发送数据到后端 } }; // 返回信息 ws.onmessage = function(evt){ var res = evt.data; if(JSON.parse(res).code == 1001){ layer.msg(JSON.parse(res).msg,{icon:6,time:2000},function(){ sessionStorage.removeItem('userid'); // 清楚浏览器userid window.location.href = 'url'; // 退出接口 }); } }
登录成功后
ws.send(“用户id”);
PHP代码块: 新建一个WorkerController.class.php 控制器
<?php namespace Cli\Controller; use Think\Controller; use Workerman\Worker; use Workerman\Lib\Timer; use Redis; // 心跳间隔时间 define('HEARTBEAT_TIME', 3600); class WorkermanController { prot