android网络相关


TCP/IP

三次握手
  • 客户端发送一个带SYN标志的TCP报文到服务器
  • 服务器回应一个带ACK标志和SYN标志的报文给客户端。表示对刚才SYN报文的回应。另外询问客户端,是否准备好进行数据通信。
  • 客户端再发送一个ACK报文。这个时候就可以进行数据通信了。
假如是两次
  • 可能导致已过期的连接再次被连接到主机(先发一次没收到,再发一次。然后第一次发的延迟收到)
  • 可能导致死锁的发生。(A发送确认应答。B在没收到之前,会一直等待A发送的信息。陷入死循环。)
客户端的状态:
  • SYN_SENT 客户端向服务器发送SYN之后,客户端进入此状态。
服务器的状态:
  • CLOSED 初始状态
  • LISTEN 服务器端的某个SOCKET处于监听状态,可以接受连接了
  • SYN_RCVD 服务器收到SYN报文后的一个短暂状态(很短暂)。
  • ESTABLISHED 连接上的状态
四次挥手
  • TCP客户端发送一个FIN,用来关闭客户端到服务器的数据传送
  • 服务器收到这个FIN,然后发回一个ACK(收到的序号+1)。
  • 服务端关闭客户端的连接,发送一个FIN给客户端。
  • 客户端发送一个ACK(确认序号为收到的序号+1)给服务器端。
客户端的状态
  • FIN_WAIT_1 主动关闭连接的一方,发送了一个FIN报文。进入此状态(很短暂,因为会里面收到回应)。
  • FIN_WAIT_2 发送给服务的报文,等收到服务的ACK回应之后,进入此状态
  • TIME_WAIT表示收到的FIN报文,也回应了ACK。就等2MSL之后进入CLOSED状态。如果FIN_WAIT_1状态时候,收到了服务的FIN标志和ACK标志。可以直接进入此状态。
服务器的状态
  • CLOSE_WAIT 指收到客户端的FIN报文之后,里面回应了一个ACK。进入此状态。 在此状态的时候,需要服务去关闭连接。
  • LAST_ACK 被动关闭的一方,在发送FIN报文之后,进入此状态。
  • CLOSED 收到客户端的ACK报文之后,进入此状态。

参考链接:
TCP协议三次握手连接四次握手断开和DOS攻击
TCP连接中TIME_WAIT连接过多


网络基础概念

http相关:

1.volley框架、okhttp框架、

2.https、tcp/ip udp http

相关文章链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值