首页后端开发PHPPHP中Workerman框架有啥不同,用法是什么?

PHP中Workerman框架有啥不同,用法是什么?

时间2024-03-26 03:34:03发布访客分类PHP浏览1143
导读:这篇文章我们来简单的了解一下Workerman框架的相关内容,Workerman框架与其他的框架有很大的不同,能够广泛的应用在生活中。接下来我们就来看看Workerman框架,以及其与其他框架的区别。 1、概念 Workerman是一款纯P...

这篇文章我们来简单的了解一下Workerman框架的相关内容,Workerman框架与其他的框架有很大的不同,能够广泛的应用在生活中。接下来我们就来看看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开发者可以开发出不同寻常的应用程序。

纯PHP开发

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

支持PHP多进程

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

支持TCP、UDP

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

以上就是关于workerman框架的介绍,现在大家对Workerman框架级与其他框架的区别等等这些,应该都有一定的了解了吧,希望能对大家学习有帮助。最后,想要了解更多可以继续浏览网络其他相关的文章。

文本转载自脚本之家

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP中Workerman框架有啥不同,用法是什么?
本文地址: https://pptw.com/jishu/653232.html
PHP下怎样终止脚本执行,方法是什么? 对比setHeader和writeHead存在什么差异

游客 回复需填写必要信息