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 Workerman\Worker;
$worker = new Worker('websocket://0.0.0.0:8085');
// 连接回调
$worker->onConnect = function ($connection){
    echo "connection success\n";
};
// 接受发送消息
$worker->onMessage = function ($connection,$data){
    $connection->send("Hello World");
};
// 关闭连接
$worker->onClose = function ($connection){
    echo "connection close \n";
};
$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 也是可以用作聊天的,有待研究。

posted @ 2018-06-12 10:41  Jackey-fighting  阅读(173)  评论(0编辑  收藏  举报