• workerman(环境+初识)


    一、workerman 对 php的环境要求:

    php>=5.3.3;

    linux系统要求安装posix 和 pcntl拓展:

    检测本地环境是否满足workerman:

    [root@fengniu020 ~]# curl -Ss http://www.workerman.net/check.php | php

    PHP Version >= 5.3.3 [OK]

    Extension pcntl check [OK]

    Extension posix check [OK]

    如果出现  Extension posix check [fail] , 则 yum install php-process ,在重启下 service php-fpm restart

    二、安装:

    apt-get install php5-cli git gcc php-pear php5-dev libevent-dev -y
    
    pecl install event
    
    git clone https://github.com/walkor/Workerman

    写个websocket服务server.php:

    <?php
    require_once __DIR__.'/Workerman/Autoloader.php';
    use WorkermanWorker;
    $worker = new Worker('websocket://0.0.0.0:8085');
    // 连接回调
    $worker->onConnect = function ($connection){
        echo "connection success
    ";
    };
    // 接受发送消息
    $worker->onMessage = function ($connection,$data){
        $connection->send("Hello World");
    };
    // 关闭连接
    $worker->onClose = function ($connection){
        echo "connection close 
    ";
    };
    $worker::runAll();
    

     开启服务:  php server.php start

    在浏览器可以输入: 127.0.0.1:8085 去访问,或者任何的IP,因为new Worker 里面使用了0.0.0.0 ,表示任意的IP。

    然后你可以使用control来输入一些websocket 请求:

    var ws = new WebSocket('ws://127.0.0.1:8085');

    ws.onmessage = function(event){

         console.log('MESSAGE: ' + event.data);

    }

    ws.send('Hi, Jackey');

    如图,control:

    你可以把这些写到JS里面,然后访问这个包含此JS的HTML的文件就好。

    总结:

         websocket是一个长链接的 ,在new Worker('websocket://0.0.0.0:8085')中 ,如果是tcp服务的,则是 new Worker('tcp://0.0.0.0:8085');对应的改下就行了,其他的基本上都一样的了,一般都是用于消息提醒,通知,websocket 也是可以用作聊天的,有待研究。

  • 相关阅读:
    WPF 文本动画 文字BaseLine 字体 行高计算说明
    C#查找窗口,并控制窗口显示隐藏,通过改变窗口样式方式
    c#获取状态栏图标并-模拟鼠标点击-模拟鼠标点击窗体的某些按钮
    IEC 104公约 解析 c#使用通过104公约同步时间
    hprose数据可视化显示,通过c#序列化,列表形式展示,导出excel、csv
    微服务优秀博文资料
    IT 常用单词表
    java 优秀开源项目
    java并发编程学习博客
    LDAP服务端
  • 原文地址:https://www.cnblogs.com/Jackey-fighting/p/9171941.html
Copyright © 2020-2023  润新知