python关于TCP、UDP的socket编程

本文深入探讨了TCP和UDP在Python网络编程中的应用。介绍了TCP的可靠性、三次握手与四次挥手过程,以及TCP对应的重要网络协议。同时,讲解了UDP的无连接特性及其适用场景,并给出了TCP和UDP编程的基本步骤和常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、TCP简介

TCP(Transmission Control Protocol 传输控制协议)传输控制协议的缩写,并以单独的字母发音。TCP是TCP / IP网络中的主要协议之一。而IP只能用协议的交易数据包,TCP使两个主机建立数据连接和交换数据流。是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP采用了流量控制、拥塞控制、连续ARQ(Automatic Repeat Request自动重传请求)等技术来保证它的可靠性,TCP保证数据的传递,并保证数据包的发送顺序与发送的顺序相同。

二、UDP简介

UDP(User Datagram Protocol用户数据报协议)是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

三、深入探索TCP

TCP连接是一种抽象的概念,表示一条可以通信的链路。每条TCP连接有且仅有两个端点,表示通信的双方。且双方在任意时刻都可以作为发送者和接收者。
一条TCP连接的两端就是两个套接字。套接字=IP地址:端口号。因此,TCP连接:(套接字1,套接字2)=(IP1:端口号1,IP2:端口号2)。

tcp 的三次握手:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers) 。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值