即时通讯php服务端,PHP 适合做 app 即时通讯的服务端么?

一个朋友想做 Android 版的即时通讯 app,刚好对 PHP 也会一些,想问下大家 PHP 适合做即时通讯的服务端么?有何优劣之处?

回复内容:

一个朋友想做 Android 版的即时通讯 app,刚好对 PHP 也会一些,想问下大家 PHP 适合做即时通讯的服务端么?有何优劣之处?

说实话,如果只用传统的php 来做即时通讯是有一些勉强的。php在处理密集的高并发以及长连接没有什么优势。

业界普遍的方案是的nodejs来做。但是并不代表改造后的php不能胜任。

php 有个 扩展 叫swoole 可以帮你实现这个一个即时通讯的服务端,据说Qps已经秒了nodejs。推荐去了解一下,而且有可用即时通讯的源码。

合适的不能再合适了。

基于Swoole的PHPWebIM通信结构:

https://github.com/matyhtf/php-webim

Demo: http://webim.swoole.com/

1.服务器端由Nginx/PHP-FPM提供HTTP服务,比如监听80端口:

浏览器访问 http://webim.swoole.com/main.html 获取Nginx/Apache+PHP服务产生的数据.

2.PHP Swoole实现的WebSocket服务(CLI程序)单独监听一个端口,比如9503:

main.html页面里用JavaScript访问 ws://webim.swoole.com:9503 获取WebSocket服务产生的数据.

这简直就是swoole需要发挥极致的需求啊,这种玩意,使用libevent和纯C实现swoole相对来说要比基于pcntl的workerman会更合适。

之前有过类似研究,不过没有深入,http://xmpp.org/xmpp-software/servers/ 仅供参考

感谢吴隐隐同学帮我的提问,也谢谢大家提供的思路,我决定用workerman试试?

如果并发不是特别高还可以

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值