这个项目主要用到的技术就是php + redis + mysql ,框架是workman框架.今天给大家说说workman框架相关的知识.等这个游戏做完了,有感兴趣的可以留下邮箱,我会给大家发源码.
workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以运行。
workerman完全使用PHP开发,使用workerman开发的应用程序不依赖php-fpm、apache、nginx这些容器就可以运行。 这使得PHP开发者开发、部署、调试应用程序非常方便。
为了充分发挥服务器多CPU的性能,workerman默认支持多进程多任务。workerman一个主进程和多个子进程对外提供服务, 主进程负责子进程退出信号,并负责生成新的子进程去处理服务,这样做不仅提高了应用程序的性能,而且使得workerman更加稳定。
workerman支持TCP和UDP两种传输层协议,只需要更改配置的一个字段,便可以更换传输层协议,业务代码无需任何改动。
接口上支持各种应用层协议,包括自定义协议。Workerman默认支持的协议有HTTP、WebSocket、以及简单的Text文本协议。 同时Workerman提供了通用的协议接口,开发者基于此接口便可以方便的开发出自己的协议。
很多时候需要PHP应用程序要与客户端保持长连接,比如聊天室、游戏等,但是传统的PHP容器(apache、nginx、php-fpm)很难做到这一点。 使用workerman可以轻松使用PHP长连接。php单个进程可以支持几千甚至几万的并发连接,多进程则可支持数十万甚至上百万的并发连接。
workerman内部带有统计模块,能够统计workerman自身的一些数据,如进程退出次数及退出状态,每个进程占用内存大小及的ip端口、每个进程启动时间、 进程运行的服务名、每个进程处理请求数、连接数、数据包发送失败量等等。这些信息可以本地运行php start.php status本地查看。
Gateway/Worker开发模型支持服务端的心跳检测,可以定时向客户端发送应用层的心跳,能够及时检测到客户端极端掉线情况(掉电、突发网络故障等)。
workman的特性还有其他的特别多,就不一一举例了,感兴趣的,可以去官网查手册.返回搜狐,查看更多
网友评论 ()条 查看