看板 Web_Design 關於我們 聯絡資訊
最近看了 html5 server sent events 的推播機制, 我想請問一下, server sent events 是基於http的基礎上實現, 當client(瀏覽器)發出請求, 伺服器接收到請求之後, 伺服器不斷開http的連線, 當伺服器資料有更新或異動可推播到瀏覽器, 但此作法應該還是建立在http連線, 所以必須考慮到timeout的問題, 如果timeout設定太久不斷線, 可能出現連線達到上限的問題, 如果timeout設定較短, 變成是當瀏覽器接收到timeout的event, 再重新發出一個新的request, 我想請問一下各位, 關於此部分大家是怎麼處理的? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.122.55 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1450669379.A.2F1.html
mmis1000: 你講的東西叫"long polling",跟html5半點關係都沒有 12/21 22:08
mmis1000: 那是很古早舊有的技術,至於要不被誤認成timeout,只要 12/21 22:08
mmis1000: 在等待超過一段時間後,就回覆client "沒有發生更新" 12/21 22:09
mmis1000: 讓client送新的request過來就好,這樣一來,每個連線 12/21 22:10
mmis1000: 的回覆時間就有一個上限,因此就不會timeout了 12/21 22:10
mmis1000: 至於連線數問題,那是跟平台/語言有關的問題,沒有正解 12/21 22:11
a19897811: 原po講的應該是這個 http://www.w3schools.com/html/ht 12/22 19:07
a19897811: ml5_serversentevents.asp 12/22 19:07
herbacin: 是的, 他和long pooling不一樣 12/23 18:24