[問題] 類似fb,plurk,youtube那種即時更新
關於這種不用 client browser reload
定期發 request 去問 server 有無新的資料
大概的作法就是 comet or long-polling 這類想法
node.js 也有套件可以直接使用
假設要做個簡單的即時聊天室
server 端當然可以一直監看有新的資料就送給正在連線的 client
client A ----------|
client B -----> chatroom A <------ server check chatroom A data
client C ----------|
那回到標題
要是像 facebook, plurk, youtube 這種大量 client 連線的程式
server 端就真的開這麼多的子程序去監看有無新的資料嗎??
client A -----> post A <----- server process 1 check A
client B -----> post B <----- server process 2 check B
-----> post C <----- server process 3 check C
client C -----> post D <----- server process 4 check D
例如 plurk 你的頁面有很多朋友的討論 都會自動更新上來
也就表示一個討論串 背後就一個 server 程序在監看??
那這樣 server 不就變的很操??
還是有更簡易的作法? (我的想法太暴力了)
例如: server 的監看程序掌握數個討論串 輪流著看 (變的比較不及時??
這樣好像都取決於 server 的 power ??
client A -----> post A <----- server process 1 check A
client B -----> post B <----- then check B
-----> post C <----- then check C
client C -----> post D <----- then check D ... and repeat
會這麼問的原因是目前有用 node.js 的 socket.io 寫個聊天室
但是要拓展到這種很多討論串的 是不是就要用 socket.io 開很多房間?
不然就是要整理每個 post 對應到的 socketid 然後一直檢查!!!?
這樣好像有點搞笑 ??
那如果要像最後一個例子? 有無工具可以用?
或是說有更好的想法??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.194.164
※ 編輯: LearnRPG 來自: 140.127.194.164 (09/13 09:59)
推
09/13 10:30, , 1F
09/13 10:30, 1F
→
09/13 11:02, , 2F
09/13 11:02, 2F
→
09/13 11:03, , 3F
09/13 11:03, 3F
推
09/13 19:15, , 4F
09/13 19:15, 4F
→
09/13 19:16, , 5F
09/13 19:16, 5F
推
09/14 02:29, , 6F
09/14 02:29, 6F
→
09/14 10:23, , 7F
09/14 10:23, 7F
→
09/14 10:23, , 8F
09/14 10:23, 8F
→
09/14 10:24, , 9F
09/14 10:24, 9F
→
09/14 10:24, , 10F
09/14 10:24, 10F
推
09/14 10:35, , 11F
09/14 10:35, 11F
→
09/14 10:36, , 12F
09/14 10:36, 12F
→
09/14 10:36, , 13F
09/14 10:36, 13F
推
09/14 10:41, , 14F
09/14 10:41, 14F