php中Workerman框架实例讲解

 更新时间:2021年02月06日 16:27:45   作者:小妮浅浅  
在本篇文章里小编给大家分享了一篇关于php中Workerman框架实例讲解内容,对此有兴趣的朋友们可以学习参考下。

在我们探讨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开发者可以开发出不同寻常的应用程序。

官网地址: http://www.workerman.net

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

纯PHP开发

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

支持PHP多进程

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

支持TCP、UDP

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

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

相关文章

  • PHP简单获取多个checkbox值的方法

    PHP简单获取多个checkbox值的方法

    这篇文章主要介绍了PHP简单获取多个checkbox值的方法,结合实例形式分析了php表单操作中针对checkbox值的传递与获取技巧,需要的朋友可以参考下
    2016-06-06
  • php与paypal整合方法

    php与paypal整合方法

    这几天,boss要求在system中整合paypal,方便交易.个个都没空,就我比较清闲.所以,这工作就落我身上了.一点头绪都没有.只能先google一下了.查找了大半个上午,中午懂了那么一点.还好paypal提供了比较完整的参考文档.
    2010-11-11
  • php json_encode值中大括号与花括号区别

    php json_encode值中大括号与花括号区别

    这篇文章主要介绍了json_encode值中大括号与花括号区别,具体的看下实例说明,需要的朋友参考下
    2013-09-09
  • 写php分页时出现的Fatal error的解决方法

    写php分页时出现的Fatal error的解决方法

    因为你一个文件加载了两次以上,导致函数定义重复。你用xxx_once 就必免文件多次加载。
    2011-04-04
  • php中array_column函数简单实现方法

    php中array_column函数简单实现方法

    这篇文章主要介绍了php中array_column函数简单实现方法,结合实例形式简单分析了array_column函数的功能,并针对低版本的情况给出了array_column函数的实现代码,需要的朋友可以参考下
    2016-07-07
  • php字符串操作常见问题小结

    php字符串操作常见问题小结

    这篇文章主要介绍了php字符串操作常见问题,结合实例形式分析了php针对json的操作及字符串转换问题,需要的朋友可以参考下
    2016-10-10
  • PHP验证码无法显示的原因及解决办法

    PHP验证码无法显示的原因及解决办法

    这篇文章主要介绍了PHP验证码无法显示的原因及解决办法的相关资料,这里说明了如何出现无法显示的原因及相应的解决办法,需要的朋友可以参考下
    2017-08-08
  • php MySQL与分页效率

    php MySQL与分页效率

    作者:老王 如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多。使用它来分页是再自然不过的事情了。
    2008-06-06
  • php数组排序usort、uksort与sort函数用法

    php数组排序usort、uksort与sort函数用法

    这篇文章主要介绍了php数组排序usort、uksort与sort函数用法,详细介绍了usort、uksort与sort函数在数组排序中的应用,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • php常量详细解析

    php常量详细解析

    这篇文章主要介绍了php常量,常量的语法分析,区分常量和变量的不同之处,以及什么是预定义常量,对这方面感兴趣的朋友可以借鉴借鉴。
    2015-10-10

最新评论