PHP 適合做 app 即時通訊的服務端嗎?

來源:互聯網
上載者:User
一個朋友想做 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試試?

如果並發不是特別高還可以

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.