[問題] 關於 html5 server sent events

看板Web_Design作者 (herbacin)時間9年前 (2015/12/21 11:42), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
最近看了 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

12/21 22:08, , 1F
你講的東西叫"long polling",跟html5半點關係都沒有
12/21 22:08, 1F

12/21 22:08, , 2F
那是很古早舊有的技術,至於要不被誤認成timeout,只要
12/21 22:08, 2F

12/21 22:09, , 3F
在等待超過一段時間後,就回覆client "沒有發生更新"
12/21 22:09, 3F

12/21 22:10, , 4F
讓client送新的request過來就好,這樣一來,每個連線
12/21 22:10, 4F

12/21 22:10, , 5F
的回覆時間就有一個上限,因此就不會timeout了
12/21 22:10, 5F

12/21 22:11, , 6F
至於連線數問題,那是跟平台/語言有關的問題,沒有正解
12/21 22:11, 6F

12/22 19:07, , 7F
原po講的應該是這個 http://www.w3schools.com/html/ht
12/22 19:07, 7F

12/22 19:07, , 8F
ml5_serversentevents.asp
12/22 19:07, 8F

12/23 18:24, , 9F
是的, 他和long pooling不一樣
12/23 18:24, 9F
文章代碼(AID): #1MTtL3Bn (Web_Design)
文章代碼(AID): #1MTtL3Bn (Web_Design)