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可以终止服务器端。

相关推荐
寻星探路3 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
王达舒19943 小时前
HTTP vs HTTPS: 终极解析,保护你的数据究竟有多重要?
网络协议·http·https
朱皮皮呀3 小时前
HTTPS的工作过程
网络协议·http·https
Binary-Jeff3 小时前
一文读懂 HTTPS 协议及其工作流程
网络协议·web安全·http·https
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎6 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话7 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
青春不朽5128 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD0018 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php