作者Deltaguita (贝纳颂)
看板AndroidDev
标题Re: [问题] GCM延迟问题
时间Tue Apr 22 10:21:11 2014
gn板友有点误会推播了
你回想一下line或是facebook
只有当使用者不在聊天页面(离线)才会有通知对吧?
"推拨用在即时通讯"的实际应用是
当用户为离线(不在聊天室窗)
即时通讯server
向推拨 server发出请求通之该用户有新讯息(请该用户上线)
如果该使用者
已经在线上了,就不需要透过GCM通知有新讯息
直接由server把packet往client丢
这样的好处是不用一直维持连线网路连线(省电)
有甚麽不懂的可以再提问,我再补充
※ 引述《gn00742754 (西门猫)》之铭言:
: 今天跑了范例的GCM,
: 发现GCM延迟长达5~30秒,
: 在这麽长的延迟下,
: 就算在跟Server要资料,
: 整个聊天也会很缓慢,
: 感觉需要自己架设一个推播伺服器才有办法达成聊天的需求,
: 真的有人用GCM来实作聊天功能吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.37.235
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1398133274.A.20D.html
1F:→ lovelycateye:收到 GCM 和要不要出现通知是两件事情唷 04/22 10:33
2F:→ Deltaguita:fine,请把通知用户,改为通知client 04/22 10:46
3F:→ lovelycateye:我只是单纯觉得单从通知有没有出现就判断别人 App 04/22 11:03
4F:→ lovelycateye:去远端取得资料的时间点,可能证据上不太够。 04/22 11:04
5F:→ Deltaguita:你可以考虑root你的手机,然後去看line的db 04/22 11:33
6F:→ Deltaguita:收到通知,跟进到聊天室窗之後,哪些table会有变化 04/22 11:34
7F:→ Deltaguita:line聊天内容都没有加密,可以看得很清楚 04/22 11:34
8F:→ lovelycateye:已root只是懒得看,後来你提出的这些东西才是足够 04/22 11:35
9F:→ lovelycateye:支持你说法的证据。 04/22 11:36
10F:→ lovelycateye:不过使用者是否在线这点由 Server 侦测似乎有点费工 04/22 11:40
11F:→ Deltaguita:client跟server有没有连线的话 server应该是要知道的 04/22 11:45
12F:→ Deltaguita:他至少要知道每个connection idle了多久 04/22 11:46
13F:→ Deltaguita:是不是应该切断,他原本就该做的事情,何来费工之说? 04/22 11:49
14F:→ lovelycateye:因为多一个要去检查连线状况才决定要不要发的工 04/22 12:00
15F:→ Deltaguita:有更好的方式愿闻其详 感谢分享!! 04/22 12:04
17F:→ lovelycateye:我是从这边推测应该不会是一个 connection 在那边 04/22 12:12
18F:→ Deltaguita:我看不出来......,spdy 不是只有加速http吗? 04/22 12:47
19F:→ lovelycateye:再看了一下相关资料,看来应该我之前对这部份有误解 04/22 13:30
20F:→ Deltaguita:还是谢谢你的分享,这个部落格很不错 04/22 13:38
21F:→ lovelycateye:我对 SPDY 的 Server Push 有很大的误解啊 囧> 04/22 13:41
22F:→ lovelycateye:果然看书不要偷懒只看标题 04/22 13:41
23F:推 crazyleaf:谢谢D大帮忙解惑~ 04/24 12:20