WorkerMan学习篇:准备和热身
- 760
环境要求: http://www.workerman.net/install
workerman对PHP环境的要求是: 1、PHP CLI>=5.4,可以运行命令 php -v 查看版本 2、Linux系统要求php安装了posix和pcntl扩展 Linux系统可以在命令中运行 curl -Ss http://www.workerman.net/check.php | php 检测本地环境是否满足workerman。
下载: http://www.workerman.net/download 注意我们先要下载『workerman内核 (linux版本)』
WorkerMan 3.x 手册: http://doc3.workerman.net/
workerman
整个目录放到我们的项目中,并在根目录新建一个名为server.php
的文件,下面我们就来编写这个文件。
直接使用TCP传输数据
server.php:
<?php
//本机IP是10.211.55.13
//需要监听的端口是 9090
use Workerman\Worker;
require 'workerman/Autoloader.php';
// 创建一个Worker监听9090端口,不使用任何应用层协议
$tcp_worker = new Worker("tcp://10.211.55.13:9090");
// 启动4个进程对外提供服务
$tcp_worker->count = 4;
// 当客户端发来数据时
$tcp_worker->onMessage = function($connection, $data)
{
// 向客户端发送hello $data
$connection->send('hello ' . $data);
};
// 运行worker
Worker::runAll();
命令行运行
php server.php start
开启服务了。
浏览器访问http://10.211.55.13:9090/
我们修改代码:
// 向客户端发送hello $data
$connection->send('hello ' . $data);
$connection->close();
使用HTTP协议对外提供Web服务
<?php
//本机IP是10.211.55.13
//需要监听的端口是 9090
use Workerman\Worker;
require 'workerman/Autoloader.php';
// 创建一个Worker监听9090端口,使用http协议通讯
$http_worker = new Worker("http://10.211.55.13:9090");
// 启动4个进程对外提供服务
$http_worker->count = 4;
// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{
// 向浏览器发送hello world
$connection->send('hello world');
$connection->close();
};
// 运行worker
Worker::runAll();
命令行运行
php server.php start
在浏览器中访问:http://10.211.55.13:9090/
(注意:如果出现无法访问的情况,请检查服务器防火墙)
环境要求:
http://www.workerman.net/install
workerman对PHP环境的要求是: 1、PHP CLI>=5.4,可以运行命令 php -v 查看版本 2、Linux系统要求php安装了posix和pcntl扩展 Linux系统可以在命令中运行 curl -Ss http://www.workerman.net/check.php | php 检测本地环境是否满足workerman。
下载: http://www.workerman.net/download 注意我们先要下载『workerman内核 (linux版本)』
WorkerMan 3.x 手册: http://doc3.workerman.net/
workerman整个目录放到我们的项目中,并在根目录新建一个名为server.php的文件,下面我们就来编写这个文件。
直接使用TCP传输数据
server.php:
<?php
//本机IP是10.211.55.13
//需要监听的端口是 9090
use Workerman\Worker;
require 'workerman/Autoloader.php';
// 创建一个Worker监听9090端口,不使用任何应用层协议
$tcp_worker = new Worker("tcp://10.211.55.13:9090");
// 启动4个进程对外提供服务
$tcp_worker->count = 4;
// 当客户端发来数据时
$tcp_worker->onMessage = function($connection, $data)
{
// 向客户端发送hello $data
$connection->send('hello ' . $data);
};
// 运行worker
Worker::runAll();
命令行运行
php server.php start
开启服务了。
浏览器访问http://10.211.55.13:9090/
我们修改代码:
// 向客户端发送hello $data
$connection->send('hello ' . $data);
$connection->close();
使用HTTP协议对外提供Web服务
<?php
//本机IP是10.211.55.13
//需要监听的端口是 9090
use Workerman\Worker;
require 'workerman/Autoloader.php';
// 创建一个Worker监听9090端口,使用http协议通讯
$http_worker = new Worker("http://10.211.55.13:9090");
// 启动4个进程对外提供服务
$http_worker->count = 4;
// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{
// 向浏览器发送hello world
$connection->send('hello world');
$connection->close();
};
// 运行worker
Worker::runAll();
命令行运行
php server.php start
在浏览器中访问:http://10.211.55.13:9090/
(注意:如果出现无法访问的情况,请检查服务器防火墙)