不多介绍了,workerman搭建走起,去下载一个phpstudy,然后安装,这一步自己百度或者看我这篇http://www.jianshu.com/p/528b90bd887f,不是重点
就目前的情况来看,我们将phpstudy放在e:/php/目录下边
这里打开phpstudy,切换版本,尽量切5.4以上,我在这里切5.4
在E:\php\phpstudy\php目录下可以看到不同的php版本
点进去5.4看,有一个php.exe,后续的工作基本上就是对这个目录进行操作了
php切换完了,需要配置环境变量,因为是测试,所以待会儿workerman待会要用命令行启动,在真实的线上可以使用一个init.php或者start.php去写一个脚本启动,只要运行这个页面就可以启动workerman,那么现在,计算机=>属性
高级系统设置=>环境变量
再path里面,在最后加分号,然后加入之前看到的php.exe所在环境目录
如图所示,加完之后加分号,然后确定保存
在命令行环境中输入php -v出现版本信息即配置成功,别问我命令行环境怎么出来的(实际我用的5.6文章里头写错了,懒得改了,大家将就吧
第二阶段 workerman的运行
workerman下载地址,请移步官网
http://www.workerman.net/download
下载第一个就行,官网下载zip,解压
解压文件夹改成workerman
然后再文件夹外边也就是和workerman同级目录,创建一个test001.php
代码如下,不要去理解他的意思,先复制
<?php
use Workerman\Worker;
require_once '/workerman/Autoloader.php';
$global_uid = 0;
// 当客户端连上来时分配uid,并保存连接,并通知所有客户端
function handle_connection($connection)
{
global $text_worker, $global_uid;
// 为这个链接分配一个uid
$connection->uid = ++$global_uid;
}
// 当客户端发送消息过来时,转发给所有人
function handle_message($connection, $data)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user[{$connection->uid}] said: $data");
}
}
// 当客户端断开时,广播给所有客户端
function handle_close($connection)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user[{$connection->uid}] logout");
}
}
// 创建一个文本协议的Worker监听2347接口
$text_worker = new Worker("text://0.0.0.0:2347");
// 只启动1个进程,这样方便客户端之间传输数据
$text_worker->count = 1;
$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';
Worker::runAll();
这是官方文档的例子
保存,不管去命令行,运行命令行(第一个窗口),去到test001.php所在目录然后运行
pushd E:\php
php test001.php
运行之后发现服务启动了
----------------------- WORKERMAN -----------------------------
Workerman version:3.4.6 PHP version:5.6.27
------------------------ WORKERS -------------------------------
worker listen processes status
none text://0.0.0.0:2347 1 [OK]
----------------------------------------------------------------
我们再开一个命令行窗口(第二个窗口)运行
telnet 127.0.0.1 2347
发现连接到了一个奇怪的页面,在里面输入会有奇怪的回显,别着急
我们再开一个命令行窗口(第三个窗口)运行
telnet 127.0.0.1 2347
再二和三窗口输入字符,发现各自输入的字符居然可以互相看到,其实这就是一个聊天窗口通讯的例子了,至此,测试结束,入门也结束,至于test001.php代码到底再写什么,0002再说