看板 PHP 關於我們 聯絡資訊
※ 引述《smfy (光波記憶)》之銘言: : 標題: [請益] PHP大量長時間連線的可行性? : 時間: Mon Oct 22 15:58:01 2012 : 我目前有個應用 : 是透過PHP長時間連線後 : 可以立即取得其他Service的傳送資料 : if (!socket_connect($sock, $host, $port)) return; //連線到其他Service : while (true) { : $buffer = socket_read($sock, 128); : echo ....//一讀取到資料就印到網頁上 : } : 想請問各位一下 : 當這類的連線數目很多時是否會出問題 : 又如果不可行的話又有什麼好的方式 : 麻煩各位了 謝謝 前年我寫過 comet的聊天室(為了線上客服), 但為了不想要繞路所以 直接在php的socket處理html的部份, 也用過 php socket server 作過 middleware. 連線數目大, 不是問題, 大到一台吃不下去, 要加機器, 其實也還好. 但是不是會有機器間的溝通?? socket廣播?? 這就會是問題了! 剛好之前在olg的遊戲公司作事, 有跟他們學了一些。 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 222.157.252.2 : → hSATAC:連線數佔滿/http timeout 沒什麼問題 就加機器或改架構 10/22 16:15 : 推 Jerr:用CLI, 然後注意一下code有沒有memory leak.. 10/22 16:28 ︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿ : → smfy:是說php這種架構可行嗎? 比方說一台server容納數千人左右的長 10/22 17:40 : → smfy:時間連線 比較怕的就是php開那麼多連線本身就撐不住 10/22 17:41 寫php 的人比較沒有memory控制的問題, connect close 記憶體就放回來 但寫socket server 就沒這回事了, 在while 裡面有一個 db connect 你就等著爆. 沒有 result_free 你也等著爆. 變數, array 控制不好 也等著爆 沒有檢查 db connect alive 也等死. 所以如果要寫 socket server 思維要改一下. : 推 LaPass:orz..... 像這種需求為什麼非得用PHP不可啊..... 10/23 23:22 我只能說無聊人&懶人很多, 不然 php & node.js 為啥會出來? 我還用過 php 寫 win ap (php-gtk)勒 有時候是知道可以這樣作, 雖然工具不是100分, 但為了快就上了 -- Exactly. For that one fraction of a second, you were open to options you had never considered. THAT is the exploration that awaits you: not mapping stars and studying nebulae,but charting the unknown possibilities of existence. Star Trek S7E26 "All Good Thing" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.105.62
PTTLSboy:為什麼php&node.js不是好主意?? 10/24 00:55
LaPass:我是靠Java2EE在吃飯的.... PHP是下班才在搞的.... = = 10/24 01:10
LaPass:打錯... JavaEE 10/24 01:10
LaPass:所以... 我不太能了解,為什麼提出別種語言的解決方案,會 10/24 01:12
LaPass:被當成無聊人、懶人? 10/24 01:13
matrixki:樓上完全誤解原PO的意思了吧 10/24 01:34
gpmm:nojs 的起因完全是 js 紅了之後 + v8 威能的衍生物吧 XD 10/24 02:44
LaPass:啊... 我看懂了,抱歉 10/24 09:23
alpe:node.js 印象中,好像是不想多學一種server lang, 所以就上了 10/24 09:41
linhomeyeu:node.js為何工具不好? 10/27 11:56