例如QQ,如果使用socket一直与服务器连接的话会耗费大量流量,但不连接又不能实现实时消息交互,这个问题怎么破?
定时轮询,或者维持长连接
周期性连接,qq会有一定事件间隔来跟服务器通信。用户也可以接收一定延时。
这里面分为几种的。一种是即时通信,这个比如QQ,MSN这些,这些都是一些通信模型,并且需要封装大量类库的。你可以看下xmpp,这个是一个开源的即时通讯。
还有一种app与数据库的交互,也分为两种,一种是通过java连接数据库的驱动包,直接连接数据库,我刚学的时候就是用这种方式,比如jdbc。后来发现这种方式不太安全。因为需要把远程数据库的账号和密写到app里面,虽然也可以加密,但是这种方式总归不安全。另一种就是通过后台的接口。