PHPSocket.IO的官方介绍:
PHPSocket.IO是PHP版本的Socket.IO服务端实现,基于workerman开发,用于替换node.js版本Socket.IO服务端。PHPSocket.IO底层采用websocket协议通讯,如果客户端不支持websocket协议, 则会自动采用http长轮询的方式通讯。PHPSocket.IO实现的Polling通信机制包括Adobe Flash Socket、AJAX长轮询、JSONP轮询等。具体采用哪种机制通讯对于开发者完全透明, 开发者使用的是统一的接口。
下面我们使用ThinkPHP5.1框架来整合PHPSocket.IO实现客户端和服务端的通讯。
使用的本地开发环境是PHP5.6.30 + Apache2.4.25
创建新项目
// 使用ThinkPHP5.1新建项目thinksocket;
$ composer create-project topthink/think thinksocket 5.1.*;
// 进入项目,下载workerman/phpsocket.i包;
$ cd thinksocket
$ composer require workerman/phpsocket.io
这样你的安装工作就做好了。接下来配置需要的模块。
配置模块
结合前阵子的文章:ThinkPHP 5.1自动生成模块及目录、文件
我们编辑好build.php文件:
return [
// 生成应用公共文件
'__file__' => ['common.php'],
// 定义socketio模块的自动生成
'soc