[請益] 做聊天室一定要在Server跑無窮迴圈嗎?

作者: red0whale (red whale)   2018-12-28 11:06:54
無論用Comet(長輪詢)或Websocket,似乎都必須要在Server端跑無窮迴圈
如果伺服器不夠強,有可能聊天的人一多就會跳出500擊潰Server
短輪詢更不可能有效率,不只一樣會讓Server吃不消,反而徒增網路頻寬
那麼這麼說來要做聊天程式是不是一定非得在Server跑無窮迴圈不可?
沒有一個有效率且不會讓Server崩潰的方式嗎?
謝謝
作者: Jerr (身為老爸老媽嚕..)   2018-12-28 12:17:00
while(1)不是問題, 重點是while(1) {裡面跑什麼..}如果自認server已經掌握得很好了不能再優化了, 就改用swoole或C或go重刻吧, 重刻的工不會少
作者: crossdunk (推噓自如)   2018-12-28 14:10:00
有啊 不要用PHP
作者: pigwolf (光頭)   2018-12-28 18:17:00
不是應該配合ajax,做背景查詢?沒ajax的年代是用js跑不斷的重送form表單XD ,所以畫面會一直閃現,後來有iframe
作者: aquarianboy (我是沒牌的營養師!)   2018-12-29 00:06:00
有個東西叫 Elixir,這種東西對它來說是一小片蛋糕
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-12-31 05:02:00
一直背景查詢不是已經不流行 現在都要websocket
作者: dou0228 (7777)   2018-12-31 10:17:00
event-driven 你的程式就不太會有while(1)
作者: carry0987 (carry)   2017-01-23 19:02:00
有些虛擬主機是不支援websocket,例如我的,所以我還是習慣用ajax每1秒就背景更新一次~
作者: GALINE (天真可愛CQD)   2017-01-25 19:42:00
是說尋夢園也是土炮硬幹也是活到現在了...
作者: rurikaxx (DavidLuo)   2017-02-01 07:57:00
websocket是在server跑無窮迴圈..你是不是有什麼誤會
作者: stanma   2017-09-28 20:39:00
為什麼不試試看 FireBase 呢

Links booklink

Contact Us: admin [ a t ] ucptt.com