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格式被众多计算机语言支持,而且省流量。
app与后台通信协议的更多相关文章
- app进入后台之后接收到通知,点进去进入新的页面,再次进入后台,再点击通知进入页面(,两次通过通知进入的页面,创建了两次,会多一个页面,)解决办法监听
在点击通知进入的页面的 //UIApplicationWillResignActiveNotification是app即将进入后台的方法 //增加监听使它在进入后台之前pop上一个页面 - (void ...
- android 监听app进入后台以及从后台进入前台
package com.pinshang.base; import com.pinshang.common.CommonValue; import com.pinshang.investapp.Ent ...
- 如何禁止App在后台运行以及如何保存和恢复App的状态
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如果禁止App在后台运行 iOS上的App类似于Windows ...
- iOS----------检测app进入后台或前台
开发播放器的时候,经常需要检测app进入后台(暂停播放)或者进入前台(开始播放).方法非常简单. 1.检测app进入后台 // 在AppDelete实现该方法 - (void)applicationD ...
- iOS保持App真后台运行
https://www.jianshu.com/p/d466f2da0d33 在我看来,苹果系统与安卓系统最直观的区别就是后台处理方式了吧,安卓手机一旦开启了很多app放到后台,即使前台什么也不做,就 ...
- iOS蓝牙APP常驻后台
iOS蓝牙类APP常驻后台的实现方法,经过在苹果开发者论坛询问,以及查看苹果开发者文档,最后得出正确的方法为: 1.设置plist,蓝牙权限 2.到target-capabilities-backgr ...
- iOS 怎么自定制推送声音呢?(APP运行时和APP进入后台时)
说明: 一般如果修改了apple官方的推送声音后,则APP进入后台后,推送会播放开发者自定制的推送声音,而用户在使用APP(也就是APP运行时)的时候,一般是不会有推送声音,因为此时的推送内容已经呈现 ...
- Android 监听APP进入后台或切换到前台方案对比
在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况.比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作:我们想判断app切换到后台,记 ...
- ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方式
原来定位服务是10分钟收不到定位信息就挂起定位,如今变为最短3分钟,预计都是为了省电吧. 仅仅要你开启应用的后台定位,而且10分钟有一次定位,那么苹果就不会关闭你的线程.如今变成3分钟.若你的应用开启 ...
随机推荐
- Thymeleaf 常用属性
Thymeleaf 常用属性 如需了解thymeleafThymeleaf 基本表达式,请参考<Thymeleaf 基本表达式>一文 th:action 定义后台控制器路径,类似<f ...
- Dijkstra+计算几何 POJ 2502 Subway
题目传送门 题意:列车上行驶40, 其余走路速度10.问从家到学校的最短时间 分析:关键是建图:相邻站点的速度是40,否则都可以走路10的速度.读入数据也很变态. #include <cstdi ...
- 《Getting Started with Storm》章节一 基础
注:括号里的字,并且是(灰色)的,是我个人的理解,如有差错,欢迎交流 Storm是一个分布式的.可靠的.容错的数据流处理系统(流式计算框架,可以和mapreduce的离线计算框架对比理解).整个任务被 ...
- Map.Entry用法示例
一般在HashMap中可以通过key值得到value值,以key作为检索项.Map.Entry<K,V>可以作为条目的检索项.HashMap中有entrySet()方法,返回值是Set&l ...
- js定时相关函数:
定时相关函数: mytime= setTimeout(vCode, iMilliSeconds [, sLanguage]) -- 单次定时执行指定函数 clearTimeout(iTimeoutID ...
- HDU 3090 (贪心)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3090 题目大意:一共n段路.每段路每千米都会被抢劫一定数量,可以雇佣武士护卫m千米.问最少被抢劫数量 ...
- [WP8.1UI控件编程]Windows Phone大数据量网络图片列表的异步加载和内存优化
11.2.4 大数据量网络图片列表的异步加载和内存优化 虚拟化技术可以让Windows Phone上的大数据量列表不必担心会一次性加载所有的数据,保证了UI的流程性.对于虚拟化的技术,我们不仅仅只是依 ...
- BZOJ2322: [BeiJing2011]梦想封印
Description 渐渐地,Magic Land上的人们对那座岛屿上的各种现象有了深入的了解. 为了分析一种奇特的称为梦想封印(Fantasy Seal)的特技,需要引入如下的概念: 每一位魔法的 ...
- How to create a project with Oracle Policy Modeling
This blog is about how to create a project with Oracle Policy Modeling. You can do it successfully i ...
- RabbitMQ三种Exchange
Direct Exchange – 处理路由键.需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配.这是一个完整的匹配.如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记 ...