随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

python学习之TCP/UDP

TCP/UDP都是网络编程(socket)的两种基于C/S结构的程序。

UDP的9999端口与TCP的9999端口可以各自绑定。

UDP:非可靠连接速度快,服务器:创建socket 绑定ip和端口后直接从指定的IP和端口接收数据不用侦听;客户端:创建socket ,直接接收数据,不需要建立连接。

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口:
s.bind(('127.0.0.1', 9999))

s.recvfrom(1024) #接收数据。 s.sendto(data, ('127.0.0.1', 9999))

TCP:可靠连接,客户端此外还需要建立连接s.connect(('127.0.0.1', 9999)) ,服务器:需要侦听s.listen(5),

接下来,服务器程序通过一个永久循环来接受来自客户端的连接,accept()会等待并返回一个客户端的连接:
while True:
# 接受一个新连接:
sock, addr = s.accept()
# 创建新线程来处理TCP连接:
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()

posted on   杰瑞鼠  阅读(196)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示