目录

Android网络编程

Android网络编程

传输层协议与应用层协议

https://img-blog.csdn.net/20160805110146013

  1. 传输层协议-TCP

    特性:

    ①.面向连接 三次握手,四次挥手

    连接过程

    第一次握手  通信方---->发送SYN报文--通信线路(网络)-->服务方接受报文   
    第二次握手  服务方返回---->SYN_ACK应答报文----->通信方接受
    第三次握手  通信方---->ACK报文----> 服务方
    接收成功三步后 TCP信道连接成功

    关闭过程

    第一次挥手 通信方---->发送FINAL报文---->服务方接受报文 进入半关闭状态
    第二次挥手 服务方---->发送同意关闭ACK报文---->通信方接受 
    第三次挥手 服务方---->发送FINAL报文----> 通信方接受 等待关闭
    第四次挥手 通信方---->发送ACK报文----->服务方完全关闭通信

    ②.数据可靠性

    1.数据包完整性 通过报文的数据校验位 来保证数据包的完整性

    2.防丢包 每次通过反向的ACK来保证不丢包

  2. 传输层协议-UDP

    ·不面向链接(不需要向TCP那样建立链接才可进行通讯)

    ·不提供数据可靠性校验

    UDP 相比 TCP 传输速度要快

  3. 如何选择TCP 与 UDP?

    · 容错性 高 --> UDP 低 --> TCP

    · 数据包大小 小 --> UDP 大 --> TCP

    · 承受丟包风险 是 --> UDP 否 --> TCP

  4. io同步 socket基础

    https://img-blog.csdn.net/20160805114614089