Android 网络连接基本方式

就目前我所了解,可以分为两大类,Socket方式 和 Http方式。
其中,Socket方式所需使用的类,及Http方式中HttpUrlConnection类,都是JDK中的java类,跟传统java网络编程无差异。
1.Socket是针对传输层协议的,据说可以支持多种协议,不过java中貌似主要用来进行基于TCP/IP协议的网络编程。
它只是在两个网络进程间建立起稳定点到点连接,可以互相发送字节流,至于这些字节流双方按照什么协议解析,完全看程序开发者自己怎么设计。
2.Http方式,故名思议,是按照应用层HTTP协议规范进行网络连接。至于具体底层如何按照HTTP协议来编写程序实现网络连接,作为应用层开发者并不需要很清楚,因为已经有很多现成的程序包实现了这些功能,并且向我们提供简便易用的java api接口,其中既有JDK提供的HttpUrlConnection方式,也有开源组织Apache提供的HttpClient方式。(还有很多其它第三方方式。任何一个人假如足够牛,又肯花功夫,也可以自己来实现相关功能,并提供自己的java api编程接口。)
注意:这是很早之前写的内容,HttpClient方式在Android5.0只有已经被废弃。现在一般也不会直接去用HttpUrlConnection方式,现在主流的方式一般是OkHttp或者 OkHttp + Retrofit。
以下为使用上述api来编写程序的大致步骤:
一、Socket方式
1.客户端:
try{
    //新建一个Socket,同时会向网络上 【IP地址:端口号】指定的进程发起连接
    //端口号共256*256个,从0开始,其中前1024个为保留端口号,已经公共定义用途,或者留待未来公共定义,剩下的端口号用户可以自己定义
    Socket socket = new Socket( 【IP地址】, 【端口号】);
    ............
    //分别获取输入输出流,至于按照什么协议流程来进行数据输入输出,以及如何解析数据,看编写者自己的需要了
    //往往会利用其它流对象对这两个数据流进一步处理,来优化输入输出。例如数据为字符串时,可以用BufferedReader和PrinterWri
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值