作者banana2014 (香蕉共和国)
看板PHP
标题[问题] ajax聊天室最有效率的update方法…
时间Sun May 8 23:14:19 2016
这篇问题跟ajax和php都有关,
所以我同时在ajax板和php板都有张贴此问题
----------
我想用ajax来做一个简单的聊天室
在update聊天讯息的部分我想了很久
因为我不晓得该怎麽让伺服器端(伺服器端语言:PHP)在一有新讯息出现时,
自动传更新给客户端
也就是不要用「客户端每隔5秒发送request到伺服器端检查是否有新讯息」的这种方式
因为这样太没效率了
而且会浪费不必要的资源
如果迟迟没有新讯息更新怎麽办呢?
那是不是就一直让电脑一直做不必要的检查呢?
所以有没有那种「伺服器给客户端即时的更新资料」
而不是「客户端每隔一段时间检查伺服器是否有更新」的程式呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.139.126.63
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1462720462.A.11A.html
1F:→ MOONRAKER: (1)comet (2)socket 05/08 23:41
2F:推 et69523820: comet05/09 00:08
谢谢,刚刚我查了一个比comet还要好的,叫websocket
它好像要把通讯协定改成「ws://」才能连线,
想请问一下我还需要在伺服器灌什麽吗?
因为我的网站是租外面的虚拟主机,
不晓得他们的主机有没有支援这个通讯协定
也不晓得需不需要灌什麽东西?
我对websocket不是很懂,
有些旧的浏览器好像也不支援这项技术,
所以要让旧浏览器(如IE6, Netscape)也能使用这个聊天室程式,
是不是还是只能用轮询的方式更新资讯?
谢谢
※ 编辑: banana2014 (101.139.126.63), 05/09/2016 00:24:06
3F:→ MOONRAKER: netscape开什麽玩笑 你到底想做什麽网站05/09 00:38
我想做一个在所有浏览器都能正常显示的网站,
google都能在所有浏览器正常显示了,
我想应该做出一个全方位跨浏览器的网站,
毕竟你也不晓得对方用的是什麽浏览器,
搞不好现在还有人在用netscape也说不定
4F:→ chan15: 你要支援 IE6 就不要想什麽新技术了05/09 02:39
我的想法单纯只是想说旧浏览器是不是都不支援反ajax的功能,
我不是说就因此不用新技术了
也就是我想做一个在新浏览器能够用新技术、旧浏览器若不支援新技术就用旧技术的程式
(聊天室)
目的是想做一个跨浏览器,且新旧通吃的网站
你也不敢保证现在完全没人在用旧浏览器吧?
所以那个旧浏览器的问题是我对旧浏览器支援范围的疑问而已,
毕竟那个问题只是我顺带一问的而已
※ 编辑: banana2014 (101.139.126.63), 05/09/2016 07:11:23
5F:→ MOONRAKER: 毫 无 意 义 05/09 10:32
6F:→ MOONRAKER: 抱残守缺还那麽敢讲 赚钱用的网站都敢说不支援IE6 05/09 10:33
7F:→ MOONRAKER: gmail还不是有「我们将移除对旧版浏览器的支援」 05/09 10:35
8F:→ MOONRAKER: 这麽爱支援 那要不要支援Lynx 05/09 10:35
9F:→ MOONRAKER: 要不要做个无障碍AAA的聊天网站 记得申请认证喔 啾咪 05/09 10:36
10F:→ MOONRAKER: 对了不可以分站喔 因为无障碍规范认定那算歧视 05/09 10:37
11F:→ Kenqr: 有的浏览器不支援javascript和图片,建议都不要使用 05/09 10:48
12F:→ dinos: lynx,w3m表示:勿忘我~ 05/09 12:05
13F:→ weiclin: 你愿意支援超旧浏览器这一点,也不能说你是错的啦 05/09 13:02
14F:→ weiclin: 只是一般会因为花费的成本太高,而效益又太低而放弃支援 05/09 13:02
15F:→ weiclin: 如果你只是练练功,那很好,加油,放手去做 05/09 13:03
16F:→ weiclin: 但若你是被要求这样做,请先尝试教育你的客户/上司/老板 05/09 13:05
17F:→ weiclin: 因为你不尝试让他们进步的话,之後还会有人被这样要求 05/09 13:06
18F:→ weiclin: 那是一种为民除害的概念 05/09 13:07
20F:→ rickysu: 应该可以解决你的问题 05/09 13:07
21F:→ rickysu: 可以支援 Comet 以及 websocket 05/09 13:08
22F:推 shadowjohn: 遇到ie6可以试看看activex,总是有方法的啦...(烟) 05/09 19:54
23F:推 et69523820: Activex XD IE Only 刚好配IE6安全性低 Activex 在 05/09 22:16
24F:→ et69523820: 越高版本的IE 越多限制 蛮不好用的@@ 05/09 22:18
25F:推 ns1234: IE不是已经自我放弃了吗..都出Edge了 只是没人要用 05/10 00:09
26F:推 shadowjohn: 如果要写到各版相容,就只是要会更多技巧 05/10 00:17
27F:→ shadowjohn: 搭配不同版本检查作不同输出 :) 还是写得出来的 05/10 00:17
28F:→ shadowjohn: 但这样不会让你的掌声变多就是了 05/10 00:18
29F:推 GALINE: 其实每几秒送一次request这招没那麽不好啦...看看寻梦园.. 05/15 01:14