作者Y78 (Y78)
看板AndroidDev
标题Re: [闲聊] LINE是怎麽无时无刻都接收讯息的?
时间Fri Aug 28 21:34:00 2015
※ 引述《aynmeow (人造猫欧喵)》之铭言:
: 像是LINE BEETALK 或是 FB
: 是怎麽无时无刻都在接收讯息的?
: 就算是关掉也可以跳出讯息
这问题版上之前有人问过
刚好最近在做类似的东西,所以有稍微研究了一下
之前看到的作法是,有分两种情况
第一种是app还在的时候,就靠service直接跟server沟通好了
像facebook就是mqtt, line就是靠https去跟server拿资料
当app不在的时候(像是被关掉之类的),就靠GCM推播发通知
收到GCM通知以後,再去唤醒跟server沟通的service
像是Line的话就是这样,靠GCM推播然後再去跟server拿资料
对Line有兴趣的话这边有些资料可以参考
LINE 即时通讯软体之通讯协定与安全性分析
https://senselab.tw/papers/cisc2014_LINE_security.pdf
line protocol
http://altrepo.eu/git/line-protocol/tree/master
web-line
https://gitlab.com/LeeChSien/Web-Line/tree/master
purple line
http://altrepo.eu/git/purple-line/tree/master
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.135.88
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1440768850.A.D44.html
1F:推 skypiece: 其实Line 感觉有作local 的database 储存收到的讯息QQ 08/28 23:32
2F:→ xjxuvup: 确实有,进去SQLite就能看到了 08/29 06:27