最近在玩一个跑车的游戏。游戏规则是用手机微信扫描,然后打开活动。车子会从一个手机屏幕跑到另一个手机屏幕,你可以手动点击切换跑道。
这个项目使用的主要技术是php+redis+mysql,框架是workman框架。今天给大家讲讲匠人框架的相关知识。游戏结束后,有兴趣的可以留下邮箱,我会把源代码发给你。
工人
Workerman是一个高性能的PHP socket服务器框架。workerman基于PHP多进程和libevent事件轮询库。PHP开发者可以开发自己的网络应用,比如Rpc服务、聊天室服务器、手机游戏服务器等。仅通过实现一个或两个接口。
Workerman的目标是让PHP开发人员在不了解PHP socket和PHP多进程细节的情况下,更容易开发基于socket的高性能应用服务。Workerman本身就是一个PHP多进程服务器框架,带有PHP进程管理和socket通信模块,所以可以独立运行,不依赖php-fpm、nginx或apache。
Workerman的特点是纯PHP开发
Workerman完全是PHP开发的,workerman开发的应用可以独立运行,不依赖php-fpm、apache、nginx。这使得PHP开发人员开发、部署和调试应用程序非常方便。
支持PHP多进程
为了充分发挥服务器的多CPU性能,workerman默认支持多进程多任务。Workerman启动一个主流程和几个子流程,向外界提供服务。主流程负责监控子流程的退出信号,并生成新的子流程来处理服务。这不仅提高了应用程序的性能,而且使workerman更加稳定。
支持TCP和UDP
Workerman支持两种传输层协议,TCP和UDP。只需更改配置的一个字段,无需更改业务代码即可更改传输层协议。
支持高并发
Workerman支持Libeevent事件轮询库(需要安装Libeevent扩展),Libeevent在高并发方面性能优异。如果没有安装库事件,选择相关的系统调用。
支持各种应用层协议
该接口支持各种应用层协议,包括自定义协议。Workerman默认支持HTTP、WebSocket和简单文本协议。同时,Workerman提供了一个通用的协议接口,开发人员可以在此基础上轻松开发自己的协议。
支持长连接
很多时候PHP应用需要和客户端保持长时间的连接,比如聊天室、游戏等,而传统的PHP容器(apache、nginx、php-fpm)很难做到这一点。Workerman使PHP长连接的使用变得很容易。单个php进程可以支持数千甚至数万个并发连接,而多个进程可以支持数十万甚至数百万个并发连接。
自己监控
Workerman内部有一个监控和统计模块,可以统计workerman本身的一些数据,比如进程退出次数和退出状态、每个进程占用的内存大小、监控的ip端口、每个进程的启动时间、每个进程运行的服务名称、每个进程处理的请求数、连接数、发送的失败数据包数等等。可以通过运行PHP start.php状态在本地查看这些信息。
支持心跳检测
Gateway/Worker开发模型支持服务器端的心跳检测,可以定期向客户端发送应用层的心跳,可以及时检测客户端的极端断线(断电、网络突发故障等)。).
workman还有很多其他特性,就不举例了。有兴趣可以去官网查手册。
1.《workerman workerman 一个高性能的PHP Socket 服务器》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《workerman workerman 一个高性能的PHP Socket 服务器》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/810335.html