workerman(環境+初識)

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 也是能夠用做聊天的,有待研究。

相關文章
相關標籤/搜索