作者banana2014 (香蕉共和国)
看板Ajax
标题[问题] ajax聊天室最有效率的update方法…
时间Sun May 8 23:07:54 2016
我想用ajax来做一个简单的聊天室
在update聊天讯息的部分我想了很久
因为我不晓得该怎麽让伺服器端在一有新讯息出现时,自动传更新给客户端
也就是不要用「客户端每隔5秒发送request到伺服器端检查是否有新讯息」的这种方式
因为这样太没效率了
而且会浪费不必要的资源
如果迟迟没有新讯息更新怎麽办呢?
那是不是就一直让电脑一直做不必要的检查呢?
所以有没有那种「伺服器给客户端即时的更新资料」而不是「客户端每隔一段时间检查伺
服器是否有更新」的程式呢?
谢谢
**注:我是用php当作伺服器端语言
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.139.126.63
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1462720077.A.7DC.html
1F:→ ck574b027: websocket05/08 23:47
谢谢,刚刚查了一下websocket
好像要把通讯协定改成「ws://」,
想请问一下我需要在伺服器灌什麽吗?
因为我的网站是租外面的虚拟主机,
不晓得他们的主机有没有支援这个通讯协定
也不晓得需不需要灌什麽东西?
我对websocket不是很懂,
有些旧的浏览器好像也不支援这项技术,
所以要让旧浏览器也能使用这个聊天室程式,
是不是还是只能用轮询的方式更新资讯?
谢谢
※ 编辑: banana2014 (101.139.126.63), 05/09/2016 00:21:22
2F:推 mars90226: Google server push 就是你要的 05/09 00:19
3F:→ mars90226: *搜寻 (怕有人误会成Google的功能) 05/09 00:20
4F:→ tooto1985: websocket 05/09 11:37
5F:推 mrbigmouth: 旧浏览器可以用ajax long polling技术 05/09 15:09
6F:→ ck574b027: "简单的聊天室" 还要考虑浏览器,你应该先想一下用途和 05/09 16:28
7F:→ ck574b027: 谁会用,再决定要怎麽做。另外,如果是 php,搜寻 05/09 16:31
8F:→ ck574b027: php websocket,看那些library怎麽做,可能会比较快上手 05/09 16:33
9F:→ ck574b027: 旧的没救,ws 本来就是为了解决这问题才出来的新规格。 05/09 16:36
10F:→ mrbigmouth: long polling至少不用每五秒都发request啦 XD 05/10 05:57
11F:推 leonjye: comet跟Server event 05/11 19:29
12F:推 rarex: 建议直接找library 起码相容性和效能都有一定的处理了 05/11 21:44
13F:→ mygirl30229: 用NodeJS 加 socket.io 简易版很好做 05/12 19:31
14F:→ ImL1s: websocket+1 05/24 04:28
15F:推 oToToT: 聊天室不是九成都在用websocket了吗www 05/28 07:19