Re: [請益] PHP的socket跟其他的有什麼不同

看板PHP作者 (薛丁格的貓)時間7年前 (2017/09/20 14:40), 編輯推噓4(408)
留言12則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《m7m123d ( )》之銘言: : 各位大大晚安, : 小步才又來打擾了,最近有機會寫 PHP websocket 但很多疑惑, : 最近聽隔壁的說 node 可以寫 websocket 但 PHP 不行, : 搜尋 PHP socket 明明官網有相關 socket_* 函數,或者好多教 : PHP socket 寫推播的文,但又一直聽到 PHP 無法寫 socket : 究竟是什麼意思呢? : (因為搜尋了 PHP socket 都是一些 socket_* 的教學範例文章, : 小布材這邊是想更了解 PHP / socket 的愛恨故事,有請知道的 : 大大指引迷津(給個關鍵字之類).. : 感謝 不是不行啊,2011 node.js 還在 0.x 的時候我就用過PHP 寫過 webscoket. 跟 socket server. 但問題在效能,PHP是blocking所以要處理多個連線表現就會很差, node.js 的 non-blocking 加上 javascript 已經很常用了,所以 要寫socket/websocket 用node.js 寫會很快,效能也很好。 但寫的好看就是功力的。 現在也有PHP extension 可以做到non-blocking的PHP server. swoole , workman... ... 關鍵字: socket programing. blocking, async, cluster, thread. -- 人大抵上既沒有自己想像中那麼幸福,也沒有那麼不幸…重要的是, 是否對於生存抱著希望或已厭倦 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.6.142 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1505889610.A.AB6.html

09/20 16:02, , 1F
推~
09/20 16:02, 1F

09/20 20:32, , 2F
作者大大,我在搜尋時有出現 swoole 跟 workerman 但不
09/20 20:32, 2F

09/20 20:32, , 3F
明白,如果說 PHP 可以寫 websocket 那為什麼需要 swoole
09/20 20:32, 3F

09/20 20:33, , 4F
這些來作輔助呢?所以主要原因是處理效能的問題?
09/20 20:33, 4F

09/20 20:36, , 5F
所以其實是都有,重點是效能問題太嚴重?
09/20 20:36, 5F

09/21 13:36, , 6F
人家有講了non-blocking 你可以再google一下
09/21 13:36, 6F

09/23 00:26, , 7F
哈,樓上抱歉可能我表現得太囉唆,我很感謝回文大大提供
09/23 00:26, 7F

09/23 00:26, , 8F
的這些關鍵字,以及回文解釋
09/23 00:26, 8F

09/23 12:32, , 9F
Try ReactPHP? Event-driven, non-blocking
09/23 12:32, 9F

09/23 12:35, , 10F
09/23 12:35, 10F

09/23 12:36, , 11F
幾年前用過 Ratchet,筆電能400個同時連線但有leak
09/23 12:36, 11F

10/02 10:51, , 12F
改php-websocket-server為一對一,client用phpws可以
10/02 10:51, 12F
文章代碼(AID): #1PmWrAgs (PHP)
文章代碼(AID): #1PmWrAgs (PHP)