您的位置:首页 > 科技 > 能源 > 旭日X3与英伟达Orin NX通过TCP传输图片

旭日X3与英伟达Orin NX通过TCP传输图片

2024/10/6 6:52:39 来源:https://blog.csdn.net/weixin_68094467/article/details/139493076  浏览:    关键词:旭日X3与英伟达Orin NX通过TCP传输图片

观前提醒:本文主要内容为使用Python在局域网内建立TCP连接并传输图片信息,计算机为一块旭日X3和一块英伟达Orin NX。

一、什么是TCP

TCP(传输控制协议)是一种可靠的、面向连接的协议,它确保数据包的顺序传输和完整性。当需要确保数据完全无误地传送到目的地时,TCP 是一个不错的选择。在我们的示例中,一台计算机将作为服务器来接收图片,另一台计算机作为客户端来发送图片。

那TCP通信的流程是什么呢?

1.1  三次握手(Three-Way Handshake)
在传输任何数据之前,客户端和服务器之间首先进行连接建立的过程,客户端会和服务端进行三次握手。

分别是:

  1. SYN:客户端发送一个带有 SYN(同步序列编号)标志的数据包,以初始化一个连接。
  2. SYN-ACK:服务器接收到 SYN 请求后,发送一个带有 SYN 和 ACK(确认)标志的数据包作为响应。
  3. ACK:客户端收到服务器的 SYN-ACK 响应后,再发送一个带有 ACK 标志的数据包来确认,并且连接就此建立。

1.2  数据传输
一旦三次握手完成,连接就建立了,数据可以在客户端和服务器之间传输。

  • 数据段:客户端和服务器可以开始交换数据段。TCP 保证了数据的顺序和完整性。
  • 确认:接收方在收到一个或多个数据段后,会发送 ACK 来确认收到。

1.3 流量控制
TCP 使用窗口大小(window size)来进行流量控制,确保发送方不会溢出接收方的缓冲区。

窗口调整:如果接收方处理数据的速度跟不上发送方的发送速度,它可以通过调整窗口大小来告知发送方减慢发送速度。

1.4 拥塞控制
当网络拥塞时,TCP 会自动降低数据的发送速率。

下面是 TCP 中用于控制网络拥塞的一些算法:

慢启动、拥塞避免、快速重传、快速恢复。

1.5 错误检测和重传
TCP 提供了校验和,用来检测数据传输中的错误。如果检测到错误,或者某个数据段未被确认,会触发重传机制。

1.6. 四次挥手(Four-Way Handshake)
当数据传输完成,任一方都可以发起连接的终止。

  • FIN:发起关闭连接的一方会发送一个带有 FIN 标志的数据包。
  • ACK:接收到 FIN 的另一方会发送 ACK 来确认。
  • FIN:之后,接收 FIN 的一方也发送一个 FIN 来表示它也准备关闭连接。
  • ACK:最初发起 FIN 的一方发送 ACK 确认,然后连接关闭。

1.7 时间等待(TIME_WAIT)
最终关闭连接之前,TCP 保持一个时间等待状态,以确保所有的数据包都已经被确认,防止在网络中延迟的数据包在连接关闭后到达。

通过上述步骤,TCP 保证了在不可靠的网络环境中可靠的、按序的和无差错的数据传输。

TCP通信流程

得益于我们站在了巨人肩膀上,我们不需要专注于上述的流程,可以使用一些封装之后的函数来实现我们的目标

二、服务端实现(接收端)
服务器端程序将在等待接收图片的计算机上运行。它将监听一个 TCP 端口并等待客户端的连接。一旦建立连接,服务器就准备接收文件。

王子公主们请看代码:

 点击旭日X3与英伟达Orin NX通过TCP传输图片 - 古月居可查看全文

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com