• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发移动网络特性与聊天功能APP开发之间的重要关系

      移动网络特性与聊天功能APP开发之间的重要关系

      发布时间:2018-11-17

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        开发社交类APP项目,我们都知道离不开聊天功能,那么聊天App后台架构应该怎样布局结构更高效?因为聊天是目前移动互联网流行的通信方式,聊天功能是当今App后台功能中的重要部分,比如当用户a向用户b发送了段消息后,用户b在线的话就能立刻收到消息等等,这些问题是我们APP开发人员需要面对解决的问题,深圳APP开发公司本文与各位一起分享我们开发工程师在处理这方面问题的经验。研究聊天功能,就要先明白移动互联网有别于PC互联网的特性,从而更好地明白协议和架构背后的原理,下面我们先分享移动网络的特性:
      APP开发经验之移动互联网的网络特性
        当数据从网络的端发送到另外端(例如从App端到App后台),只有通过一个共同的约定(即协议),双方才能正确解析这些数据协议就相当于一套语言(例如中文和英语),通信的双方必须知道每个数据是什么含义,才能准确解析数据。
        因为移动互联网的特性,所以传统的PC通信协议不适用于移动互联网。下面从移动互联网的特性出发,详细讲述聊天的协议移动互联网有两个显著的特点。
      ·弱网络性
      ·对流量敏感
      1.APP开发聊天功能移动网络环境之弱网络性
       
        弱网络性是指由于手机不断移动(例如在7气车、地铁上)的特性,有可能处于快速移动当中,因此出现信号不稳定、响应时间变长、出现经常丢包等情况。例如有时在地铁上,从App发送请求到App后台,App后台处理完毕后返回数据这个过程因为延迟就可能需要10秒,该流程如图9-2所示。
      APP开发知识移动网络之弱网络特性案例示意图9-2地铁车厢中App请求耗时
        因此针对弱网络环境,开发者在没计协议时必须考虑尽量减少数据往返的次数,数据往返的次数越多,耗时越长。另外由于弱网络性,App以长连接的形式连接到服务器,可能会出现App和服务器的连接忽然中断的情况,而且这种情况是没法通过连接端口的异常判断。例如当地铁高速行驶导致网络中断,App没法向服务器的端口发送断开的信息,服务器还是以为和App直保持着连接,这种现象称为TCP half-open。
      TCP half-open对我们APP开发功能的危害如下
      ·占用了服务器的资源(服务器维持个连接是需要耗费内存的)
      ·发送消息的异常。
        有效防止TCP half-open的方法是使用应用层心跳机制:在App和服务器保持连接的过程中,App在规定时间间隔内向服务器发送一个数据(为了节省流量,数据可以只是个字符“h”,因为是隔定时间就发送次,这种数据被形象地称为“心跳数据”)。服务器收到这个数据知道这个连接是有效的。对于那些超过规定时间间隔还未收到心跳数据的连接,服务器就主动断开连接,通过这种机制就能有效解决TCP half-open的现象。
      服务器检查App的连接有3种方式。
      (1)服务器记录每个连接收到心跳包的最后时间,每隔一段时间检查所有连接,如果发现某个连接最后收到心跳包的时间减去当前时间的值大干超时时间,就把那个连接断开。如图9-3所示,服务器的当前时间为“2018-09-03 17:53:02”,各个连接最后收到心跳包的时间如下。
      APP开发聊天功能与网络协议处理流程图9-3服务器忙存的连接的时间
        假设服务器设定的超时时间是60秒,经比较,琏接l最后收到心跳包的时司超过了60秒,那么连接l将会被服务器断开这种方式的主要缺点是服务器需要同时检查所有连接,如果连接的数目很大(例如上万,上十万),检查连接时对系统的性能影响大
      (2)服务器为每个连接建立个定时器,到了规定的超时时司没有收到心跳包定时器就触发把当前的连接断开,如果收到心跳包,就重设定时器,不断重复前面的过程。下面举个例子说明。
        当前服务器的时司是2018-09-03 20:02:02.设定超时时间是60秒当App和服务器建立连接,根据超时时间为这个连接设置了定时器的触发时间为2018-09-03 20:03:02,如图9-4所示。
      APP开发经验示意图9-4建立连接,初始化定时器
        在2018-09-03 20:03:00,App向服务器发送了个心跳包,服务器收到心跳包后把定时器的触发重设h201s-09-03 20:04:00.如图9-5所示。
      APP开发聊天功能与服务器协议流程示意图9-5服务器收到心跳包后重设定时器
        如果服务器到了定时的触发时间2018-09-03 20:04:OO还没有收到App新发送的心跳包,则定时器被触发,主动端口了服务器和App的连接,如图9-6所示。
      APP开发聊天功能与服务器传送协议流程示意图9—6没收到心跳包触发时器断开连接
        这种方式的主要缺点是为每个连接建立个独立的定时器,如果连接的数目很大(例如上万、上十万).就会建立上万、上十万的定时器,也会消耗大量的系统资源。
      (3)这种方式是(1)和(2)的折中,称为时间轮片(Timing Wheel)。按照超时时司的长短,每秒设置一个桶,如果超时时间为60秒就设置60个桶.60个桶组成个循环队列。第一个桶欣秒后将要超时的连接,第二个桶欣两秒后将要超时的连接,每个连接收到心跳包就把自己放在第60个桶,然后在每秒的定时器中把第个桶的所有连接断开,把这个空桶挪到队尾。时间轮片的模型如图9-7所示。
       APP开发聊天功能与服务器传送协议示意图9-7时间轮片模型
      这种服务器检查App的连接的方式,好处是不需要检查所有的连接,节省了大量的系统资源。
      2.APP开发聊天功能移动网络环境之对流量敏感
        在非Wi-Fi环境下用户使用手机卡的流量套餐上网,用户对流量比较敏感,各种安全监控App也经常提醒用户,某某应用耗费了多少流量,用户看到这种消息就非常紧张,如果是生活必备的App用户可能就忍了,但其他App用户可能就直接卸载。以上问题APP开发公司提醒我们程序员在处理聊天类项目功能时必须要注意避免的。好了,本文关于聊天类APP制作时对于移动网络特性了解方面的经验就分享到这里。谢谢关注,博纳网络编辑整理。

      当前文章链接:/construction/appkaifa/1736.html
      上一篇:APP制作使用MongoDB3.0改进版本的方法 下一篇:APP开发聊天功能经验之通信协议的
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 山香教育

        山香教育

        政府教育

        山香教育

      • 极艺网

        极艺网

        行业网站

        极艺网

      • 快贴

        快贴

        行业网站

        快贴

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 公司网站制作
      • 个人网站建设
      • 教育网站建设
      • 设计
      • 网站代运营
      • 品牌网站建设
      • 学校网站制作
      • 手机网站制作
      • 网站建设开发
      • 公司网站建设

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回