目前php通信服务框架最流行的有swoole与workerman两个框架,swoole是由C语言开发的php扩展类,而workerman是纯PHP开发框架,可能swoole比workerman出名,在百度、腾讯公司都有在使用,使用频率也比较高。

对于需要快速实时响应的情况比较乏力,比如网络游戏或者推送服务一般都需要与用户长期保持一个tcp连接以便实时响应和推送信息。swoole就是解决这样应用场景的。这个是让php自身建立一个服务,不需要nginx之类的代理,直接监听端口实现通信。swoole是C语言开发的扩展框架,由于有着C语言的优势,swoole在内存管理、数据结构、通信协议解析明显优势与workerman,而且swoole在目前通信协议,提供更高的通信功能,所有workerman能开发的,swoole都可以,而且功能更多,速度更快,多年的发展稳定性强。swooley也有自己的缺点,不能根据自己需要开发,而且需要PHP程序员了解底层通信服务开发,需要学习的知识比较多,swoole一般适合老手开发。比如Unix系统编程、网络通信编程、异步io,大部分PHPer不懂。PHP界也确实没有这样的东西。Swoole开源项目就是为了弥补PHP在这些方面的缺陷诞生的。swoole实际上是一个网络通信和异步io的引擎,一个基础库。PHPer可以基于swoole去实现过去PHP无法实现的功能。swoole为PHPer打开了通往另一个世界的大门。
state

workerman是纯PHP编程语言开发,在需要的时候可以根据需求二次开发,workerman不需要了解太多通信服务,底层框架也不用学习,更不用借助PHP环境开发,可以独立运行,workerman提供完整的通信协议框架,也可以自定义开发协议,所以workerman比较适合新手PHP程序员,workerman资料文档相对来说比swoole多。workerman缺点是需要安装扩展类比较多,在高并发性能、稳定性方面比不上swoole。

workerman和swoole都是php socket 服务器框架,都支持长连接、tcp和udp、websocket、异步、分布式部署等。swoole与workerman在一般项目中根本看不出来哪个比较好用,所以不是开发大型类型网站的,新手可以选择workerman提高开发速度,老手选择swoole可以证明自己的实力。

最后修改日期:2019年8月30日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。