Skip to content

网络相关

1.Websocket有了解过吗?

WebSocket是一种在客户端和服务器之间建立持久连接的通信协议。它允许双向实时通信,可以在客户端和服务器之间传输数据,而不需要每次通信都建立新的HTTP连接。

WebSocket相对于传统的HTTP协议有很多优势,包括更低的延迟、更高的效率、更少的数据传输量等。它适用于需要实时更新数据的应用程序,比如在线聊天、实时游戏、股票行情等。

在iOS开发中,可以使用WebSocket库如Starscream、SocketRocket等来实现WebSocket通信。需要注意的是,iOS应用在使用WebSocket时,需要处理连接状态的管理、消息的发送和接收等操作,以确保通信的稳定和可靠性。

2.HTTPS加密流程

HTTPS是在HTTP基础上加入了SSL/TLS加密机制的安全通信协议。在HTTPS通信过程中,客户端和服务器之间通过SSL/TLS建立加密通道,保障数据传输的安全性和完整性。

三次握手与四次握手

TCP连接的建立和断开过程分别是通过三次握手和四次握手来完成的。

三次握手(TCP连接建立)的过程如下:

  1. 第一步:客户端向服务器端发送一个SYN(同步)报文段,表明客户端请求建立连接。
  2. 第二步:服务器端收到SYN报文段后,回复一个SYN+ACK(同步+确认)报文段,表示收到客户端的连接请求,并同意建立连接。
  3. 第三步:客户端收到服务器端的SYN+ACK报文段后,发送一个ACK(确认)报文段给服务器端,表示连接建立成功。

四次握手(TCP连接断开)的过程如下:

  1. 第一步:客户端向服务器端发送一个FIN(结束)报文段,表示客户端希望断开连接。
  2. 第二步:服务器端收到FIN报文段后,回复一个ACK报文段,表示收到客户端的断开请求。
  3. 第三步:服务器端向客户端发送一个FIN报文段,表示服务器端也希望断开连接。
  4. 第四步:客户端收到服务器端的FIN报文段后,回复一个ACK报文段,表示接受服务器端的断开请求,此时连接断开。

通过三次握手和四次握手,TCP连接可以安全可靠地建立和断开,确保数据的可靠传输和连接的稳定性。理解这两个过程对于网络编程和系统调优非常重要。

TCP是如何保证数据完整的?

TCP(Transmission Control Protocol)通过以下几种方式来保证数据的完整性:

  1. 序列号和确认应答:TCP在每个数据包中使用序列号和确认应答机制来保证数据的顺序和完整性。发送端将每个数据包都标记一个序列号,接收端收到数据包后会发送确认应答,确认收到的数据包的序列号,同时要求下一个数据包的序列号。如果发送端没有收到确认应答,就会重新发送数据包,直到接收端确认收到为止。

  2. 校验和:TCP使用校验和来检测数据在传输过程中是否发生了错误。发送端在发送数据包前计算校验和,接收端在接收数据包后也会计算校验和,如果两端计算出的校验和不一致,则说明数据包在传输过程中发生了错误,需要重新发送。

  3. 重传机制:如果接收端在一定时间内没有收到发送端的确认应答,则发送端会重新发送数据包,以确保数据的完整性和可靠性。重传机制可以保证数据包的送达,即使在网络出现丢包或延迟的情况下也能够保证数据的完整性。

通过以上方式,TCP能够保证数据在传输过程中的完整性,确保数据能够按照正确的顺序到达接收端,并且在传输过程中不会发生数据丢失或损坏的情况。这些机制使得TCP成为一种可靠的传输协议,广泛应用于网络通信和数据传输领域。

世界很美 而你正好有空