看板 Ajax 關於我們 聯絡資訊
我想用ajax來做一個簡單的聊天室 在update聊天訊息的部分我想了很久 因為我不曉得該怎麼讓伺服器端在一有新訊息出現時,自動傳更新給客戶端 也就是不要用「客戶端每隔5秒發送request到伺服器端檢查是否有新訊息」的這種方式 因為這樣太沒效率了 而且會浪費不必要的資源 如果遲遲沒有新訊息更新怎麼辦呢? 那是不是就一直讓電腦一直做不必要的檢查呢? 所以有沒有那種「伺服器給客戶端即時的更新資料」而不是「客戶端每隔一段時間檢查伺 服器是否有更新」的程式呢? 謝謝 **註:我是用php當作伺服器端語言 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.126.63 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1462720077.A.7DC.html
ck574b027: websocket05/08 23:47
謝謝,剛剛查了一下websocket 好像要把通訊協定改成「ws://」, 想請問一下我需要在伺服器灌什麼嗎? 因為我的網站是租外面的虛擬主機, 不曉得他們的主機有沒有支援這個通訊協定 也不曉得需不需要灌什麼東西? 我對websocket不是很懂, 有些舊的瀏覽器好像也不支援這項技術, 所以要讓舊瀏覽器也能使用這個聊天室程式, 是不是還是只能用輪詢的方式更新資訊? 謝謝 ※ 編輯: banana2014 (101.139.126.63), 05/09/2016 00:21:22
mars90226: Google server push 就是你要的 05/09 00:19
mars90226: *搜尋 (怕有人誤會成Google的功能) 05/09 00:20
tooto1985: websocket 05/09 11:37
mrbigmouth: 舊瀏覽器可以用ajax long polling技術 05/09 15:09
ck574b027: "簡單的聊天室" 還要考慮瀏覽器,你應該先想一下用途和 05/09 16:28
ck574b027: 誰會用,再決定要怎麼做。另外,如果是 php,搜尋 05/09 16:31
ck574b027: php websocket,看那些library怎麼做,可能會比較快上手 05/09 16:33
ck574b027: 舊的沒救,ws 本來就是為了解決這問題才出來的新規格。 05/09 16:36
mrbigmouth: long polling至少不用每五秒都發request啦 XD 05/10 05:57
leonjye: comet跟Server event 05/11 19:29
rarex: 建議直接找library 起碼相容性和效能都有一定的處理了 05/11 21:44
mygirl30229: 用NodeJS 加 socket.io 簡易版很好做 05/12 19:31
ImL1s: websocket+1 05/24 04:28
oToToT: 聊天室不是九成都在用websocket了嗎www 05/28 07:19