一、安装swoole服务
1.下载swoole源码,下载地址: https://github.com/swoole/swoole-src/releases
2.将tar包上传到/usr/local/src/swoole下面,这里面存储安装源文件。
3.解压源文件,tar –xvfswoole.tar
4.进入到刚解压的目录下输入命令phpize
5.注意:phpize是php-devel中的东西,它可以给PHP动态添加扩展,所以,请确保你的机器上安装了php-devel软件包。
6.接着,依次输入如下命令:./configure,执行编译检测make,编译swoole
7.缺少pcre和pcre-devel相关软件包,安装上即可。
8.sudo make install
9.php.ini一般在etc下面 编译安装成功后,我们还需要修改php.ini,在其中加入swoole.so扩展:
10.extension=swoole.so
11.输入php -m中能查看到swoole说明扩展安装成功。
二、安装apache启动swoole服务
(1)测试是否安装正确启动swoole Php服务
(2)在apache中添加server.php文件,和client.php文件。一般目录在var/www/html下面
(3)打开两个终端 在这两个文件所在的目录下面打开这两个文件,可以实现socket长连接服务。
安装lsof:yum -y install lsof
三、配置Server端class WebSocketService {
private static $instance = NULL;
public $tagindex = 0;
public $server = null;
public $office_cache = null;
public $timer_arr = []; //该变量保存所有的定时器任务ID,每一个客户端可以通过$timer_arr[客户端ID]
得到该客户端建立的所有定时器
public $conf = [
'host' => '0.0.0.0',
'port' => 9999, //服务使用端口
'worker_num' => 2, //启动worker进程数
'task_worker_num' => 8, //启动task进程数
'is_daemonize' => 0, //是否后台运行:0-否,1-是
'log_file' =>'/tmp/swoole_webSocket_server.log', //日志文件路径
'abc' =>0,
];
public function getTagIndex() {
return $this->conf['abc'];
}
public function setSetTagIndex($index) {
$this->conf['abc'] = 100;
echo $this->getTagIndex();
}
public function __construct($co