一、安装:
apt-get install php5-cli git gcc php-pear php5-dev libevent-dev -y
pecl install event
git clone https:///walkor/Workerman
二、开始Workerman 服务,测试一个HTTP服务

server.php 代码
<?php
require_once __DIR__.'/Workerman/Autoloader.php';
use Workerman\Worker;
$worker = new Worker('http://0.0.0.0:8085');
$worker->onMessage = function ($conn,$data){
$conn->send("Hello World");
};
$worker::runAll();

打开浏览器输入服务器IP地址,输入结果

三、Websocket服务
server.php 代码
<?php
require_once __DIR__.'/Workerman/Autoloader.php';
use Workerman\Worker;
$worker = new Worker('websocket://0.0.0.0:8085');
$worker->onMessage = function ($conn,$data){
$conn->send("Hello World");
};
$worker::runAll();
开启Workerman 服务,测试一个Websocket

谷歌浏览器测试
// 1、先连接
var ws = new WebSocket('ws://127.0.0.1:8085/');
ws.onmessage = function(event) {
console.log('MESSAGE: ' + event.data);
};
// 2、发送数据
ws.send("Hi Tinywan");

四、TCP 协议
server.php 代码
<?php
require_once __DIR__.'/Workerman/Autoloader.php';
use Workerman\Worker;
$worker = new Worker('tcp://0.0.0.0:8085');
$worker->onMessage = function ($conn,$data){
$conn->send("Hello World");
};
$worker::runAll();
开启Workerman

使用tenet 测试结果:

五、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();
开始服务

谷歌浏览器测试

服务端输出信息

所有回调测试server.php代码
<?php
require_once __DIR__.'/Workerman/Autoloader.php';
use Workerman\Worker;
$worker = new Worker('websocket://0.0.0.0:8085');
// Workerman 启动的回调,这里传递的是Worker对象
$worker->onWorkerStart = function ($worker){
echo "onWorkerStart success\n";
};
// 连接回调
$worker->onConnect = function ($connection){
echo "connection success\n";
};
// 接受发送消息
$worker->onMessage = function ($conn,$data){
$conn->send("Hello World");
};
// 关闭连接
$worker->onClose = function ($connection){
echo "connection close \n";
};
//Workerman 停止回调
$worker->onWorkerStop = function ($worker){
echo "onWorkerStop success\n";
};
$worker::runAll();
测试结果:

作者:Tinywan
















