Android网络编程
目录
Android网络编程
传输层协议与应用层协议
传输层协议-TCP
特性:
①.面向连接 三次握手,四次挥手
连接过程
第一次握手 通信方---->发送SYN报文--通信线路(网络)-->服务方接受报文 第二次握手 服务方返回---->SYN_ACK应答报文----->通信方接受 第三次握手 通信方---->ACK报文----> 服务方 接收成功三步后 TCP信道连接成功
关闭过程
第一次挥手 通信方---->发送FINAL报文---->服务方接受报文 进入半关闭状态 第二次挥手 服务方---->发送同意关闭ACK报文---->通信方接受 第三次挥手 服务方---->发送FINAL报文----> 通信方接受 等待关闭 第四次挥手 通信方---->发送ACK报文----->服务方完全关闭通信
②.数据可靠性
1.数据包完整性 通过报文的数据校验位 来保证数据包的完整性
2.防丢包 每次通过反向的ACK来保证不丢包
传输层协议-UDP
·不面向链接(不需要向TCP那样建立链接才可进行通讯)
·不提供数据可靠性校验
UDP 相比 TCP 传输速度要快
如何选择TCP 与 UDP?
· 容错性
高 --> UDP 低 --> TCP
· 数据包大小
小 --> UDP 大 --> TCP
· 承受丟包风险
是 --> UDP 否 --> TCP
io同步 socket基础