Android学习笔记:Android网络编程的理解和总结

 

1、Socket通信(底层、通信的数据协议、通信模式)                   

通信模式:同步、异步

通信协议:有状态(常连接)、无状态(无常连接)(无法把第二次关联和第一次关联联系起来)

              在一次完整的通信会话过程中连接(socket)一直建立着,没有中断。

有状态:例如打电话,我第一次打给你问你吃了吗?你说吃了,然后我又问你吃啥,你说喝粥,也就是说第二次我问你的时候你知道我是谁?

无状态:我第一次打电话给你问你吃了吗?你说吃了,然后我就把电话挂了,然后我第二次打电话给你问你吃啥?你就纳闷说,你是谁啊?也就是说第二次电话你联系不起来我是第一次打电话给你的那个人。

       无状态通信协议:(HTTP(同步的)) 例如,我打开一个页面是一次请求,然后页面打开了,我把网络关闭,但是还是不影响我浏览网页。服务器的负载较小!

       但是我在当当买书的时候,点击确定的时候,弹到另外一个页面,这个页面负责浏览自己所买货物的信息,在这里另外一个页面还记得前面那个页面我所留下的记录,这是为什么呢?      

这是因为服务器为每一个访问者分配一个小的会话框,能把你的记录,都记录在对话框里,当你再次访问的时候他会自动跳到属于你的会话框。

       在例如,点餐,我分配的是三号桌,我说要点一个土豆丝,然后服务员会去给我准备土豆丝,过一段时间,我又想吃鱼,然后就在跟服务员说三号桌再来一条鱼,于是鱼的记录也被加进去了,三号桌就是属于我的会话框。

 

2、HTTP协议通信  HTTPClient  只需把自己的参数传给服务器就可以了,需要自己封装参数和解析结果

       在实际开发中用的更多的是此种方法。

 

1、客户端能够做更方便的工作,比起纯传统的web客户端。如果直接打开web网站去查询,缺陷是客户端需要流量。最大的问题是成本。其次是比较慢,用户体验效果不好。

       例如我现在要用手机打开新浪网页,网页有很多图片和信息,大概需要2M的流量,移动运营商流量费用除了包月价格1kb=1分钱。如果打开新浪的网页则需要20块钱左右,

2、不用自己定义协议,相对于第一种来说较为简单。

3、WebView  更傻的访问方式。不需要封装参数和解析结果

你可能感兴趣的:(编程,android,网络,socket,服务器,电话)