python UDP,Python tcp

  python UDP,Python tcp

  仅用于研究参考。

  介绍了TCP协议。传输控制协议(Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

  TCP通信需要经历连接创建、数据传输和连接终止三个步骤。

  在TCP通信模型中,在通信开始之前,必须先建立相关链接,然后才能发送数据,这类似于生活中的‘打电话’。

  TCP特性1。面向连接的通信双方必须在数据传输前建立连接,双方必须为连接分配必要的系统内核资源,以管理连接状态和连接上的传输。

  双方之间的数据传输可以通过这个连接进行。

  数据交换后,双方必须断开此连接以释放系统资源。

  这种连接是一对一的,因此TCP不适合广播应用。请为基于广播的应用程序使用UDP协议。

  2.可靠传输1)TCP采用发送响应机制。

  TCP发送的每个数据段都必须得到接收方的应答,然后该TCP数据段的传输才算成功。

  2)超时重传

  发送方在发送一个数据段后启动计时器,如果在固定时间内没有收到回复,则重新发送该数据段。

  为了保证不发生丢包,TCP给每个包一个序列号,同时序列号保证发送给接收端实体的包按顺序接收。然后,接收实体向成功接收的分组发回相应的确认(ack );如果发送方实体在合理的往返延迟(RTT)内没有接收到确认,则相应的数据分组被认为丢失,并且将被重传。

  3)错误检查

  TCP使用校验和功能来检查数据中的错误;发送和接收时都会计算校验和。

  流量控制和拥塞管理流量控制用于防止主机发送过快,使接收方无法完全接受。

  TCP和UDP的区别是面向连接的(确认已经创建了三次握手,传输前已经创建了连接。)有序数据传输,丢失数据包重传,丢弃重复数据包,无错数据传输拥塞/流控udp通信模型。在udp通信模式中,在通信开始之前,不需要建立相关的链接,只需要发送数据,类似于生活中的“写信”

  TCP通信模型在udp通信模型中,在通信开始之前,必须先建立相关链接,然后才能发送数据,这类似于生活中的‘打电话’。

  Tcp的三次握手

  tcp的4次浪潮

  注意tcp服务器一般需要绑定,否则客户端找不到这个服务器。tcp客户端一般不绑定,因为是主动链接的服务器,所以确定好服务器的ip、端口等信息就好。本地客户端可以通过监听tcp服务器,将socket创建的主动套接字随机更改为被动套接字。这是你做tcp服务器要做的事情。当客户端需要链接到服务器时,您需要使用connect to link。udp不链接直接发送,但必须先链接tcp。只有链接成功,它才能通信。当tcp客户端连接到服务器时,服务器将拥有一个新的套接字。这个套接字用于标记这个客户端。单独为这个客户端服务listen的套接字是被动套接字,用来接收新客户端的链接请求,而accept返回的新套接字则标志着这个新客户端的关闭。listen后的socket表示被动套接字关闭,这会导致新的客户端无法链接到服务器,但是之前链接的客户端可以正常通信。关闭accept返回的套接字意味着客户端已经完成服务。当客户端的socket调用close时,服务器会recv unblock,返回的长度为0,所以服务器可以通过返回数据的长度来判断客户端是否已经注销。

  关注微信微信官方账号,回复【数据】,Python,PHP,JAVA,web,即可获取Python,PHP,JAVA,前端等视频数据。

  来自海洋的渔夫原创作品,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: