• swoole 安装方法 使用即时聊天


    最近想用PHP写一个聊天网站,于是注意到了swoole这个扩展,看上它就是因为事件驱动异步非阻塞。

    Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

    Swoole底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js等全异步的框架不同,Swoole既支持全异步,也支持同步。

    Swoole是开源免费的自由软件,授权协议是Apache2.0。企业和开发者均可免费使用Swoole的代码,并且在Swoole之上所作的修改可用于商业产品,无需开源。

    以上这段话摘自swoole官网,http://www.swoole.com/

    以下是我在Debain系统里的安装过程。我在Ubuntu14.04里是按照官方视频教程的过程,下载源码并本地编译完成的,如果有同学想挑战一下,也可以到http://wiki.swoole.com/wiki/page/230.html去跟着Rango安装。

    swoole仅支持Linux/FreeBSD/Mac,如果你使用的是Windows系统,请安装一个虚拟机,VirtualBox/VMWare都可以。然后在虚拟机里安装Linux。 
    swoole已经加入到PHP的官方扩展库中,所以在Linux系统里只需要执行

    pecl install swoole

    但是,我在第一次安装的时候遇到了一个问题,提示我本机没有安装phpize,于是

    sudo apt-get update
    sudo apt-get install php5-dev

    再次执行安装命令,接下来又提示我编译错误, BaiduShurufa_2014-11-5_15-59-36

    缺少pcre.h ,于是

    sudo apt-get install libpcre3 libpcre3-dev

    再次执行安装命令,终于

    image

    于是按照提示,在php.ini添加extension=swoole.so

    输入php –m 得到以下结果

    image

    恭喜你,安装成功了。

    可以新建一个server.php 的demo测试一下

    复制代码
    复制代码
    <?php
        $serv = new swoole_server("0.0.0.0", 9501);
        $serv->on('connect', function ($serv, $fd){
                echo "Client:Connect.
    ";
        });
        $serv->on('receive', function ($serv, $fd, $from_id, $data) {
                $serv->send($fd, 'Swoole: '.$data);
        });
        $serv->on('close', function ($serv, $fd) {
                echo "Client: Close.
    ";
        });
        $serv->start();
    
    ?>
    复制代码
    复制代码

    执行 php server.php

    新开一个终端,使用telnet连接到你的服务器:

    telnet 127.0.0.1 9501
    > hello world
    > Swoole: hello world

    如果提示地址冲突,可以更改源代码中的“9051”端口

  • 相关阅读:
    BFPRT(中位数的中位数算法)
    View的事件体系
    Android的消息机制
    BInder机制总结
    Service总结
    IPC机制总结
    AIDL使用绑定启动远程Service出现Service Intent must be explicit: Intent
    线程协作与并发流程控制&AQS
    TCP相关问题整理
    USACO 2015 US OPEN Gold T3: Trapped in the Haybales
  • 原文地址:https://www.cnblogs.com/zhanghuilong/p/6734131.html
Copyright © 2020-2023  润新知