当前位置:首页 > CMS教程 > 其它CMS > 列表

php中Workerman框架实例讲解

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-11 16:07:14 浏览: 评论:0 

在本篇文章里小编给大家分享了一篇关于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服务器

  1. <?php 
  2. require_once __DIR__ . '/vendor/autoload.php'
  3. use Workerman\Worker; 
  4. // 创建一个Websocket服务器 
  5. $ws_worker = new Worker("websocket://0.0.0.0:2346"); 
  6. $ws_worker->count = 4; 
  7. // 在新连接到来时发出 
  8. $ws_worker->onConnect = function($connection
  9.   echo "New connection\n"
  10.  }; 
  11. // 接收数据时发出 
  12. $ws_worker->onMessage = function($connection$data
  13.   // Send hello $data 
  14.   $connection->send('hello ' . $data); 
  15. }; 
  16. // 连接关闭时发出 
  17. $ws_worker->onClose = function($connection
  18.   echo "Connection closed\n"
  19. }; 
  20. // 运行worker 
  21. 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两种传输层协议,只需要更改配置的一个字段,便可以更换传输层协议,业务代码无需任何改动。

Tags: Workerman

分享到:

相关文章