当前位置:  开发笔记 > 编程语言 > 正文

Swoole到底是个什么东西?

一定要匿名!Swoole,据说是一个异步处理很牛逼的东西!但是他到底是什么?PHP扩展?为什么有人经常用他和node.js之类的做对比!他和PHP是什么关系!请非常直白的说下!哦对了!爱php~
一定要匿名!Swoole,据说是一个异步处理很牛逼的东西!但是他到底是什么?PHP扩展?为什么有人经常用他和node.js之类的做对比!
他和PHP是什么关系!请非常直白的说下!哦对了!爱php~

回复内容:

这个要回答下,楼上在说PHP的swoole框架,被黑的有点惨。实际上swoole扩展和PHP的框架并没有关系。

一直以来在其他编程语言程序员心目中PHP就是个套HTML页面的。所谓PHP程序员就是搞WordPress、discuz二次开发,一个月拿三五千的loser,和我大Java工程师相比简直low爆了。

但大家黑了PHP半天,才发现PHP最近这几年反而越来越流行了,PHPer们的工资可一点都不低。就拿我司来说吧,之前面过一个PHP程序员工作三年多,水平一般吧,后来公司开价2万/m收了。水平好一点的平均都在3-4万/m。

实际上作为一名PHP程序员,我很清楚PHP的确有很多局限性,比如Unix系统编程、网络通信编程、异步io,大部分PHPer不懂。PHP界也确实没有这样的东西。Swoole开源项目就是为了弥补PHP在这些方面的缺陷诞生的。与WordPress这些产品不同,swoole实际上是一个网络通信和异步io的引擎,一个基础库。PHPer可以基于swoole去实现过去PHP无法实现的功能。swoole为PHPer打开了通往另一个世界的大门。 php现有的应用方式都是基于http的,对于需要快速实时响应的情况比较乏力,比如网络游戏或者推送服务一般都需要与用户长期保持一个tcp连接以便实时响应和推送信息。
swoole就是解决这样应用场景的。
这个是让php自身建立一个服务,不需要nginx之类的代理,直接监听端口实现通信。
一种应用方式也可以代替掉nginx做http服务,但一般不会这么用。 php与外部通信需要借助系统的socket。

通常使用的Apache nginx就是封装了的socket,可以实现并发处理。客户端发送请求到nginx/apache,再转发到fastcgi端口交给php处理

swoole把系统的socket集成到php底层,php可以直接通过swoole与客户端交互。

也就是说swoole是个封装了底层socket的网络库。 Swoole之于PHP正如Node.js之于JavaScript. 就是一个底层通信框架,基于socket通信的,其实PHP 也能做多进程编程(扩展支持,workerman是这方面NO.1),swoole使用C 实现的一套PHP扩展,基于它也是做这方面的功能,因为这两个底层框架的存在,大大扩展了PHP的应用范围,和不错的未来期望 @韩天峰
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有