• 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 也是可以用作聊天的,有待研究。

  • 相关阅读:
    改进的延时函数Delay(使用MsgWaitForMultipleObjects等待消息或超时的到来)
    罗斯福新政
    保存网页为图片——滚动截取IE(WebBrowse)
    Linux LVM硬盘管理及LVM分区扩容
    visual leak dector内存泄漏检测方法
    小智慧30
    函数调用的原理
    HTTP协议漫谈
    Boost源码剖析之:泛型指针类any
    扩展C++ string类
  • 原文地址:https://www.cnblogs.com/Jackey-fighting/p/9171941.html
Copyright © 2020-2023  润新知