php - App实现http长连接技术上可行吗?有必要吗?有哪些优缺点?
PHP中文网
PHP中文网 2017-04-11 10:34:24
0
7
279

背景:
公司开发一个笔记类App, 现在添加了网页端。
移动端理论上是可以离线使用的,没有网络时就将内容一直保存在本地,有网络时再将数据同步到服务器。
网页端和移动端可以同时登陆,这样就涉及到了两边编辑同一条内容会发生冲突的问题。

冲突的解决不是问题的重点,就不提了。

重点是网页端修改的内容该如何及时同步到移动端。原本我是希望移动端能每过15秒向服务端发送一次请求,看有没有需要更新的内容。

但是产品同学说这样不够好,有道云笔记的 PC客户端 和 网页端 之间是可以做到数据实时同步的,我看了一下有道的http头,发现有道云笔记采用的是keep-alive长连接做到实时更新数据的。

然而我发现有道云笔记的App并没有做到实时同步数据,也就是这种方法并没有想象中那样方便和优秀。

公司服务端采用的是 https.

问题:App实现http长连接技术上可行吗?有必要吗?有哪些优缺点?

PHP中文网
PHP中文网

认证0级讲师

membalas semua(7)
迷茫

socket.io 啊 有各个语言的sdk

巴扎黑
  1. 实时性,轮询还是存在延迟,延迟时间为轮询周期

  2. 流量,轮询的流量太大了,移动端很重视这个东西。

迷茫

可以用socket长连接,实时性和连接的状态都能得到很好的保证,只需要按时发送一个socket心跳报激活连接状态就好,对于流量的消耗微乎其微.

黄舟

无论HTTP连接还是socket连接,都不会是实时的,只是在完善的更新策略下让用户感觉到是“实时更新”了而已,http轮询、socket、推送,都可以实现,看你们产品需求策略了。跟https无关

巴扎黑

没有必要长连接啊 你现在的需求是网页端修改内容 然后同步到移动端 你在移动端再请求一次数据不就可以了吗 像印象笔记都是这样实现的

洪涛

1.轮询时效性不好,还占用带宽资源
2.可以使用websocket,实时监听
3.可以试试连接池

巴扎黑

可以试试MQTT这种长连接方案,不过长连接比较消耗服务器资源,需要跟后台RD确认

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!