1、workerman 对 php的环境要求:php
php>=5.3.3;linux
linux系统要求安装posix 和 pcntl拓展:git
检测本地环境是否知足workerman:github
[root@fengniu020 ~]# curl -Ss http://www.workerman.net/check.php | php web
PHP Version >= 5.3.3 [OK] 浏览器
Extension pcntl check [OK]websocket
Extension posix check [OK]curl
若是出现 Extension posix check [fail] , 则 yum install php-process ,在重启下 service php-fpm restartsocket
2、安装:tcp
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 也是能够用做聊天的,有待研究。