美文网首页
centos6.8 php7+swoole 实现赛事直播系统

centos6.8 php7+swoole 实现赛事直播系统

作者: a十二_4765 | 来源:发表于2018-06-01 20:40 被阅读82次

    centos6.8 服务器
    php7 源码安装
    下载php7
    wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.1.tar.gz/from/this/mirror
    解压
    tar -xvf php7.tar.gz
    进入目录
    cd php-7.1.1
    安装依赖包
    yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-deve
    5.编辑配置
    ./configure --prefix=/usr/local/php
    make
    make install
    6 配置环境变量
    vi /etc/profile
    末尾追加
    PATH=$PATH:/usr/local/php/bin
    export PATH
    执行命令使得生效
    source /etc/profile
    php -v 查看是否安装成功

    swoole 安装
    下载swoole
    解压
    tar -unzip swoole.zip
    进入swoole
    运行/usr/local/php/bin/phpize
    会生成 configure shell脚本
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make
    make install
    Installing shared extensions: : /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
    这个地址是swoole扩展存放的地址
    swoole 下的examples/server 为demo目录
    在php.ini 里面配置swoole扩展

    cd /usr/local/php/lib/
    vim php.ini
    编辑
    extension = swoole

    php -m 查看php扩展

    tcp 的使用
    在/www/wwwroot/demo/server/tcp.php 下创建
    <?php
    //创建Server对象,监听127.0.0.1:9501端口
    $serv = new swoole_server("127.0.0.1",9501);

    $serv->set([
    'worker_num' =>8, //worker进程数 cpu1-4
    'max_request'=>10000,
    ]);
    //监听连接进入事件
    //$fd 客户端连接的唯一标示
    $serv->on('connect',function($serv,$fd,$reactor_id){
    echo "Client:{$reactor_id}-{$fd}- connect.\n";
    });

    //监听数据接收事件
    $serv->on('receive',function($serv,$fd,$from_id,$data){
    $serv->send($fd,"Server:{$reactor_id} -{$fd}".$data);
    });
    //监听连接关闭事件
    $serv->on('close',function($serv,$fd){
    echo"Client:Close.\n";
    });

    //启动服务器
    $serv->start();

    启动tcp.php
    php /www/wwwroot/demo/server/tcp.php

    在同一服务器上另开一个窗口
    使用 tenlent 127.0.0.1 9501 进行连接
    如果提示 -bash: telnet: command not found
    下载 telnet
    yum install telnet-server
    yum install telnet
    安装完成后
    service xinetd restart 进行启动


    image.png

    可以看到 另一个窗口显示


    image.png
    表示开启一个进程

    连接tcp.php
    在/www/wwwroot/demo/client/tcp_client.php 下
    <?php
    //连接swoole tcp 服务
    $client = new swoole_client(SWOOLE_SOCK_TCP);
    if(!$client->connect("127.0.0.1",9501)){
    echo "连接失败";
    exit;
    }
    ///php cli 常量、
    fwrite(STDOUT,"请输入消息:");
    $msg = trim(fgets(STDIN));
    // 发送消息给 tcp server 服务器
    $client->send($msg);
    //接受来自server 的数据
    $result = $client->recv();
    echo $result;
    ?>
    先开启tcp 然后另起一个窗口开启
    php tcp_client.php
    会显示请输入消息

    相关文章

      网友评论

          本文标题:centos6.8 php7+swoole 实现赛事直播系统

          本文链接:https://www.haomeiwen.com/subject/monksftx.html