[問題] 關於 html5 server sent events

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

Links booklink

Contact Us: admin [ a t ] ucptt.com