php中Workerman框架实例讲解

admin3年前PHP教程78

在我们探讨php框架的开发时,更多的是偏向于理论的框架。那么本篇要讲的Workerman框架,与其他的框架有很大的不同,可以广泛的应用在生活中。我们平时所用到的软件,也许正是Workerman开发出来的。下面我们就php中Workerman框架的概念、与其他框架区别带来讲解。

1、概念

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。

2、与其他框架区别

Workerman 的核心要点和 Swoole 一致,但采用了纯 PHP 的 Web Socket 实现。和 Swoole 相比最大的好处是移除了对 C 扩展的需求,但必须采用 CLI 模式运行使其还是无法跑在虚拟主机上。

3、使用实例

websocket服务器


<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// 创建一个Websocket服务器
$ws_worker = new Worker("websocket://0.0.0.0:2346");
$ws_worker->count = 4;
// 在新连接到来时发出
$ws_worker->onConnect = function($connection)
{
  echo "New connection\n";
 };
// 接收数据时发出
$ws_worker->onMessage = function($connection, $data)
{
  // Send hello $data
  $connection->send('hello ' . $data);
};
// 连接关闭时发出
$ws_worker->onClose = function($connection)
{
  echo "Connection closed\n";
};
// 运行worker
Worker::runAll();

知识点扩展:

workerman的特性

Workerman是一款纯PHP开发的开源的高性能的PHP socket 异步框架。被广泛的用于移动通讯、手游服务端、网络游戏服务器、聊天室服务器、硬件通讯服务器、智能家居、车联网、物联网等领域的开发。 支持Websocket、HTTP等协议,支持自定义协议。基于workerman开发者可以更专注于业务逻辑开发,不必再为PHP Socket底层开发而烦恼。

workerman诸多的不同寻常的特性,使得PHP开发者可以开发出不同寻常的应用程序。

官网地址: workerman

官网有很具体的开发文档,这里我就给大家介绍下 ,它的一些特性,功能还是很强大的!

纯PHP开发

workerman完全使用PHP开发,使用workerman开发的应用程序不依赖php-fpm、apache、nginx这些容器就可以独立运行。 这使得PHP开发者开发、部署、调试应用程序非常方便。

支持PHP多进程

为了充分发挥服务器多CPU的性能,workerman默认支持多进程多任务。workerman开启一个主进程和多个子进程对外提供服务, 主进程负责监控子进程退出信号,并负责生成新的子进程去处理服务,这样做不仅提高了应用程序的性能,而且使得workerman更加稳定。

支持TCP、UDP

workerman支持TCP和UDP两种传输层协议,只需要更改配置的一个字段,便可以更换传输层协议,业务代码无需任何改动。

到此这篇关于php中Workerman框架实例讲解的文章就介绍到这了,更多相关php中Workerman框架是什么内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

海外多ip服务器可以指定出口ip吗

一般来说,海外多IP服务器可以指定出口IP地址。不过这取决于你使用的服务器提供商和服务级别协议(SLA)。一些服务器提供商可能会提供具有IP地址管理功能的控制面板,允许你指定使用哪个IP地址作为出口I...

台湾大带宽服务器的真实带宽能跑多少

台湾大带宽服务器的真实带宽能跑多少?台湾大带宽服务器的真实带宽取决于多种因素,包括但不限于服务器的硬件配置、网络拓扑、带宽提供商、以及服务器所承载的网络负载等。因此,很难提供一个确切的数字来回答这个问...

高速游戏服务器租用防DDOS的手段有哪些呢?国内高防服务器如何防御DOSS攻击?

高速游戏服务器是用来做游戏网站的服务器,而提到游戏网站,我们第一个想到的会是DDOS攻击。对的,无论怎样的游戏网站,棋牌游戏也好、诸如王者荣耀类的也好,或多或少受到过攻击。那么,高速游戏服务器租用防D...

浅谈并发处理PHP进程间通信之System V IPC

目录前言Unix System V IPC信号量共享内存消息队列函数介绍ftoksemaphore函数shared_memory函数代码实现小结前言它的安装和使用非常简单,在编译 PHP 时添加 --...

TikTok美国跨境电商直播新机遇从直播快开始

回顾过往三年,经历了疫情反复、高通胀等重重困难,但挑战与机遇相伴,新兴的市场趋势和发展机遇同样破水而出。拼多多等电商巨头也进军海外市场,TikTok领衔的跨境直播电商正强势崛起。开启美国跨境电商机遇:...

德国服务器延迟高怎么解决

德国服务器延迟高怎么解决?如果您的计算机连接到德国服务器时遇到延迟高的问题,以下是一些解决问题的方法:更换服务器:如果您连接到的服务器受到过载或网络故障,可能会导致延迟增加。尝试更换其他可用的德国服务...