zoukankan      html  css  js  c++  java
  • app与后台通信协议

     通用的语言有很多种,例如英语和中文,在网络的通讯中,通用的协议有很多,其中http是被最广泛使用的。如果是私有的协议,那就只能自己设计了。


      用http是最方便的,如果是私有协议,包含协议的封装和拆解,工作量大,前端程序员和后端程序员都要增加很多额外的工作量。而且私有协议对程序员的要求高,不适合从web网站转过来的开发者。除非是手游,不然用http就好了。

    (2)app和服务器通讯使用长连接还是短连接?


      假设现在通过手机拨打另外一个人的手机,手机通话费用非常便宜(甚至可以忽略),但是有两个注意的地方:


      1.一台手机同一时间只能接听一个电话。


      2.一台手机接听电话前非常麻烦,要拨号啦,要等接听,这需要一段时间。


      app和服务器通讯使用长连接还是短连接这个问题,可以等同于上面电话模型,是一直保持着通话,还是有需要时才拨号通话这个问题?

    2)app和服务器通讯使用长连接还是短连接?


      假设现在通过手机拨打另外一个人的手机,手机通话费用非常便宜(甚至可以忽略),但是有两个注意的地方:


      1.一台手机同一时间只能接听一个电话。


      2.一台手机接听电话前非常麻烦,要拨号啦,要等接听,这需要一段时间。


      app和服务器通讯使用长连接还是短连接这个问题,可以等同于上面电话模型,是一直保持着通话,还是有需要时才拨号通话这个问题?


      当app和服务器通讯使用长连接,就相当于一直保持着通话,服务器能保持的通讯数量有限,如果通讯满了,那其他app就不能和服务端通讯了。这种通讯方式,多数是使用socket或websocket连接长时间连接,对程序员的要求比较高,开发比较困难,除了手游和聊天推送服务外,不建议使用。


      当app和服务器通讯使用短连接,就相当于需要时才拨号通话。这种通讯方式,配合http协议,是现在主流的通讯方式,开发效率高,有大量的第三方资源,使用非常广泛,推荐使用这种方式。

    当app调用api的时候,只需要明确下面3点:


      1.这个api是干啥的(柜员机例子中,是取款功能,还是查询余额,还是转账)


      2.知道要输入什么(柜员机例子中,取款要输入金钱)


      3.知道结果是什么(柜员机例子中,取款是成功还是失败)


      至于api内部是怎么处理的,app根本无需理会。


      api,一般是以http的形式调用的,通过http传入参数,返回结果。其中,结果一般是以json格式返回的,因为json格式被众多计算机语言支持,而且省流量。

  • 相关阅读:
    应用安全-Web安全-越权漏洞整理
    操作系统
    接码平台 | 临时邮箱生成网站
    shell反弹/端口转发/端口映射/内网穿透/代理/SSH中转/TLS加密传输/协议转换/DNS防污染/抓包工具整理
    远控CVE整理
    Windows系统CVE整理
    https的了解
    软件设计师备考
    https资料
    基本感觉比较好的书
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6245599.html
Copyright © 2011-2022 走看看