身为一个刚学会curd的PHP小白,初入这个江湖,感兴趣的还是如何用php做出一些看上去很炫酷diao炸天的技能,寻思着搞一搞聊天和直播这种花里胡哨的技能,有了这个点就要过来选一把趁手的家伙事,趁手了,也好劈山打怪。
文档链接 : https://wiki.swoole.com/
借鉴链接:https://www.cnblogs.com/laoyang1985/p/10937779.html
简单理解:Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发 HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。
Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。
文档链接:http://workerman.net
借鉴链接:https://blog.csdn.net/fastjack/article/details/79523363
简单理解:workerman完全使用PHP开发,使用workerman开发的应用程序不依赖php-fpm、apache、nginx这些容器就可以独立运行。
workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行
参考文档 :[https://www.zhihu.com/question/47994137]
(https://www.zhihu.com/question/47994137)
关于使用难易程度
workerman是一款成熟的框架,文档相对于swoole来说也是比较完整,身为初学者,接触workman会更加的友好
关于性能
纯c开发的swoole相对于workerman是会高上一部分的,swoole4的出现可以在任何位置、任何时间创建协程。使得协程变成了一种语言级的特性。
选择
在简单了解之后终于到了选择的时候了,由于本人是用于学习扩展,所以更倾向于使用swoole来进行,如果是项目中需要使用到的呢,而且之前没有接触过使用workerman比较开发好哦。
既然决定是你了,那就开始吧。