Android_网络基础

什么是Http协议?

  HTTP协议即为超文本传送协议,是web联网的基础,也是手机联网常用协议之一,HTTP协议时间里在TCP协议智商的一中应用.HTTP连接的显著特点是客户端发送的每次请求都需要服务器相应,并在请求结束后,会主动释放连接,从建立连接到关闭连接的过程称为"一次连接"

什么是Https协议?

  HTTPS,是以安全为目标的http通道,就是HTTP的安全版,与HTTP不同是HTTPS的默认端口以及存在一个加密和身份验证层(在HTTP和TCP之间),被广泛用于万维网上的安全敏感通讯,例如交易支付.

Android中获取网络权限

<uses-permission android:name="android.permission.INTERNET"/>
    <!--允许程序打开网络套接字-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!--允许程序访问网络连接信息-->

Android中检测网络连接

1.ConnectivityManager:他会回答关于网络连接的查询结果,并在网络改变是通知应用程序.

2.NetworkInfo:描述一个给定类型(移动网络或WIFI等)的网络接口状态

 IP地址和端口号

1.IP地址:IP地址用于在网络中唯一标识一台机器,是一个32的整数,通常用0~255的十进制数表示

2.端口号:用于唯一标识机器上进行网络通信 的程序,同一台机器不能用有两个程序占用同一个端口的情况;端口号十一个16为整数,共有3类

  ---公认端口:通常是一些协议端口(TCP/IP协议),用来紧密绑定一些特殊的服务器 范围0~1023

  ---注册端口:松散的绑定一些特定的服务,应用程序最多端口号,范围:1020~49151

  ---动态/私有端口:一般是应用程序临时地动态地占用,相当于一中竞争资源,应用程序本身不会i绑定这些端口

          一般会将其座位资源利用 范围:49151~65535

3.真正参与网络通信的是计算机上残疾网络通信的程序,IP地址就相当于它的街道门牌,那么端口就表示它住在哪个房间,即房间号

 阻塞与非阻塞

  IO的阻塞与非阻塞主要表现在IO操作过程中,比如在读取数据的过程中,读取数据的过程很慢需要准备数据,如果在等待数据准备时,一直等待,这就是阻塞,如果在数据准备时去干别的事,这就是非阻塞,

  实际:

  小明要找小王借一本书,但是小王忘记了书放在哪里,需要去找书,如果此时,小明一直等小王找到书并借给他,这就是阻塞;如果小明在小王找书的过程中去打游戏,,过会儿再来找小王,而小王也把书找到了,小明成功借到了书,这就是非阻塞.

 同步与异步(IO)

  判断同步与异步的标准:一个IO操作直到完成,是否导致程序阻塞,如果阻塞就是同步,如果没有阻塞就是异步;

  这里的IO操作是指真实的IO操作,也就是从数据从内核拷贝到系统进程的过程(也就是读的过程).

  同步可以提高程序的可靠性,而异步可以提示程序的性能,却无法保证程序的可靠运行

原文地址:https://www.cnblogs.com/conglingkaishi/p/9362396.html