Python网络编程——TCP编程

CP 编程是实现网络通信的核心技术之一,尤其在需要可靠数据传输的场景中非常重要。

  • 面向连接​:通信双方必须先建立连接(三次握手),结束后要断开连接(四次挥手)
  • ​可靠性​:通过确认应答(ACK)、超时重传、滑动窗口、流量控制、拥塞控制等机制来保证数据可靠有序地送达
  • ​流式传输​:数据没有固定的消息边界,可能会发生"粘包"现象

为了直观对比 TCP 和 UDP 的一些关键区别,请看下表:

特性 TCP UDP
​连接方式​ 面向连接 (三次握手) 1 4 无连接 3
​可靠性​ 可靠 (确认、重传、排序等) 1 4 不可靠 3
​传输形式​ 字节流 (可能粘包) 1 数据报文 (有边界) 3
​速度​ 相对较慢 相对较快
​应用场景​ 文件传输、邮件、网页浏览等需要高可靠性的场景 视频流、DNS查询、语音通话等实时性要求高的场景

服务器

客户端:

  1. 在 VSCode 中分别创建 server.pyclient.py文件并粘贴代码。

  2. 首先运行 ​​服务器端​ ​:在终端中执行 python server.py。你会看到 [*] 服务器监听在 127.0.0.1:9999

  3. 然后运行 ​​客户端​ ​:打开另一个终端,执行 python client.py。你会看到 [*] 已连接到服务器 127.0.0.1:9999,并可以输入消息。

  4. 在客户端输入消息后,服务器端会收到并回复,客户端会打印出服务器的回复。

  5. 输入 quit可以退出客户端。使用 Ctrl+C可以终止服务器端。

相关推荐
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89182 天前
Python主流框架全解析
开发语言·python
sg_knight2 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财2 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
黄昏晓x2 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
张張4082 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533992 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz2 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
favour_you___2 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll
小白学大数据2 天前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium