本文是 Python 分篇学习路线第 6 篇。
总览入口:/python-tutorial.html

学习目标速览(点击跳转)

章节导航

1. TCP 客户端示例

1
2
3
4
5
6
7
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("example.com", 80))
s.send(b"GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n")
print(s.recv(1024))
s.close()

2. TCP 服务端示例

1
2
3
4
5
6
7
8
import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1", 8888))
server.listen(1)
conn, addr = server.accept()
conn.send(b"hello")
conn.close()

3. UDP 示例

1
2
3
4
5
import socket

udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp.sendto(b"hello", ("127.0.0.1", 9999))
udp.close()

4. 打包为 exe

1
2
python -m pip install pyinstaller
pyinstaller -F app.py

打包后可执行文件通常在 dist/ 目录。

学习路线闭环

你现在可以回到总览页复习并按需查漏补缺:/python-tutorial.html

学习 FAQ(统一)

TCP 和 UDP 在入门阶段怎么选?

要求可靠传输(顺序、重传)选 TCP;追求低延迟且可容忍丢包时选 UDP。

本地 socket 示例连不上通常是什么原因?

常见是端口被占用、服务端未先启动、地址写错(127.0.0.1 与局域网 IP 混用)。

PyInstaller 打包后运行闪退怎么排查?

先在命令行启动 exe 看报错,再检查资源路径与第三方依赖是否被正确打包。

系列文章导航(双向互链)