作者:殉情放开那只小兔子 | 2022-10-23 04:01
过去半年使用PHP和Java两种技术栈完成了一个游戏服务器项目。由于项目中有高频的网络请求,所以PHP技术栈尝试使用Swoole引擎(基于事件的高性能异步并行网络通信引擎)来完成部分游戏业务。安装swoole很简单,由于是国人做的项目,很多issue可以在官网文档找到答案。安装分两种:编译安装。直接去github或者gitee去下载官方的发行版,编译安装后,将so拓展写入...
底层会为Worker进程、TaskWorker进程分配一个唯一的ID。不同的Worker和TaskWorker进程之间可以通过sendMessage接口进行通信。
实际项目中的各进程线程的分工:
- Manager进程:负责管理worker进程,创建或回收
- Worker进程:游戏逻辑处理
- taskWorker进程:向客户端发网络包、关闭长期不活跃的tcp连接
Swoole版本兼容性
该项目开发阶段使用的swoole引擎版本1.9.6,后来由于测试环境安装成了4.3.2版本,所以尝试业务代码作调整。不过swoole的向下兼容很值得佩服的是,这过程中竟然只发现了一处代码不兼容的问题:是有关swoole_server的一项配置参数,在原来版本采用了魔鬼数字进行配置的,但是到新版本,这个数字没有被宏定义,后来通过查看swoole源码找到了宏定义组,然后修改了这处配置。(不过版本升级顺利也是基于swoole的业务代码比较少,所以仅供参考
更多相关学习推荐:swoole教程
以上就是分享Swoole引擎原理的快速入门干货的详细内容,更多请关注其它相关文章!