Maison  >  Questions et réponses  >  le corps du texte

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

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

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

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

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

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

公司服务端采用的是 https.

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

PHP中文网PHP中文网2770 Il y a quelques jours314

répondre à tous(7)je répondrai

  • 迷茫

    迷茫2017-04-11 10:36:24

    socket.io 啊 有各个语言的sdk

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:36:24

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

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

    répondre
    0
  • 迷茫

    迷茫2017-04-11 10:36:24

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

    répondre
    0
  • 黄舟

    黄舟2017-04-11 10:36:24

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

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:36:24

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

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-11 10:36:24

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

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:36:24

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

    répondre
    0
  • Annulerrépondre