[请益] 做聊天室一定要在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