workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行。
首先去下载workman
和workman同级目录创建一个PHP文件,写入以下代码
<?php
use Workerman\Worker;
require_once __DIR__ . '/Workerman-master/Autoloader.php';
// 创建一个websocket的Worker监听2000接口
$ws_worker = new Worker("websocket://0.0.0.0:2000");
// 只启动1个进程,这样方便客户端之间传输数据
$ws_worker->count = 1;
//模拟登陆,设用户id
$global_uid = 0;
// 当客户端连上来时分配uid,并保存连接,并通知所有客户端
$ws_worker->onConnect = function ($connection)
{
global $ws_worker, $global_uid;
// 为这个连接分配一个uid
$connection->uid = ++$global_uid;
};
// 当客户端发送消息过来时,转发给所有人
//这里data☞用户发送过来的数据
$ws_worker->onMessage =funct