[問題] ajax聊天室最有效率的update方法…

看板Ajax作者 (香蕉共和國)時間8年前 (2016/05/08 23:07), 8年前編輯推噓5(5010)
留言15則, 9人參與, 最新討論串1/1
我想用ajax來做一個簡單的聊天室 在update聊天訊息的部分我想了很久 因為我不曉得該怎麼讓伺服器端在一有新訊息出現時,自動傳更新給客戶端 也就是不要用「客戶端每隔5秒發送request到伺服器端檢查是否有新訊息」的這種方式 因為這樣太沒效率了 而且會浪費不必要的資源 如果遲遲沒有新訊息更新怎麼辦呢? 那是不是就一直讓電腦一直做不必要的檢查呢? 所以有沒有那種「伺服器給客戶端即時的更新資料」而不是「客戶端每隔一段時間檢查伺 服器是否有更新」的程式呢? 謝謝 **註:我是用php當作伺服器端語言 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.126.63 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1462720077.A.7DC.html

05/08 23:47, , 1F
websocket
05/08 23:47, 1F
謝謝,剛剛查了一下websocket 好像要把通訊協定改成「ws://」, 想請問一下我需要在伺服器灌什麼嗎? 因為我的網站是租外面的虛擬主機, 不曉得他們的主機有沒有支援這個通訊協定 也不曉得需不需要灌什麼東西? 我對websocket不是很懂, 有些舊的瀏覽器好像也不支援這項技術, 所以要讓舊瀏覽器也能使用這個聊天室程式, 是不是還是只能用輪詢的方式更新資訊? 謝謝 ※ 編輯: banana2014 (101.139.126.63), 05/09/2016 00:21:22

05/09 00:19, , 2F
Google server push 就是你要的
05/09 00:19, 2F

05/09 00:20, , 3F
*搜尋 (怕有人誤會成Google的功能)
05/09 00:20, 3F

05/09 11:37, , 4F
websocket
05/09 11:37, 4F

05/09 15:09, , 5F
舊瀏覽器可以用ajax long polling技術
05/09 15:09, 5F

05/09 16:28, , 6F
"簡單的聊天室" 還要考慮瀏覽器,你應該先想一下用途和
05/09 16:28, 6F

05/09 16:31, , 7F
誰會用,再決定要怎麼做。另外,如果是 php,搜尋
05/09 16:31, 7F

05/09 16:33, , 8F
php websocket,看那些library怎麼做,可能會比較快上手
05/09 16:33, 8F

05/09 16:36, , 9F
舊的沒救,ws 本來就是為了解決這問題才出來的新規格。
05/09 16:36, 9F

05/10 05:57, , 10F
long polling至少不用每五秒都發request啦 XD
05/10 05:57, 10F

05/11 19:29, , 11F
comet跟Server event
05/11 19:29, 11F

05/11 21:44, , 12F
建議直接找library 起碼相容性和效能都有一定的處理了
05/11 21:44, 12F

05/12 19:31, , 13F
用NodeJS 加 socket.io 簡易版很好做
05/12 19:31, 13F

05/24 04:28, , 14F
websocket+1
05/24 04:28, 14F

05/28 07:19, , 15F
聊天室不是九成都在用websocket了嗎www
05/28 07:19, 15F
文章代碼(AID): #1NBrPDVS (Ajax)
文章代碼(AID): #1NBrPDVS (Ajax)