一、安装:

apt-get install php5-cli git gcc php-pear php5-dev libevent-dev -y

pecl install event

git clone https:///walkor/Workerman

二、开始Workerman 服务,测试一个HTTP服务

WorkerMan 入门学习之(一)基础教程-Worker类的使用_Workerman

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();

WorkerMan 入门学习之(一)基础教程-Worker类的使用_Workerman_02

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

WorkerMan 入门学习之(一)基础教程-Worker类的使用_Workerman_03

三、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

WorkerMan 入门学习之(一)基础教程-Worker类的使用_git_04

谷歌浏览器测试

// 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");

WorkerMan 入门学习之(一)基础教程-Worker类的使用_php_05

四、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

WorkerMan 入门学习之(一)基础教程-Worker类的使用_git_06

使用tenet 测试结果:

WorkerMan 入门学习之(一)基础教程-Worker类的使用_谷歌浏览器_07

五、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();

开始服务

WorkerMan 入门学习之(一)基础教程-Worker类的使用_WebSocket_08

谷歌浏览器测试

WorkerMan 入门学习之(一)基础教程-Worker类的使用_git_09

服务端输出信息

WorkerMan 入门学习之(一)基础教程-Worker类的使用_git_10

所有回调测试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();

测试结果:

WorkerMan 入门学习之(一)基础教程-Worker类的使用_WebSocket_11

 


作者:Tinywan