Python在Debian中的网络编程怎么做
作者:Jason
时间:2026-06-26
来源:互联网
浏览:0
在Debian系统下,利用Python内置socket模块可快速实现TCP网络编程。通过安装Python3、编写服务器与客户端代码,完成绑定地址、监听连接、收发数据等核心步骤,掌握TCP通信流程与套接字API用法,为后续多线程、UDP等高级网络应用打下坚实基础。
### Debian 下用 Python 做网络编程,其实比你想象的简单
如果你手头刚好有一台装好 Debian 的机器,又想在 Python 里试试网络通信到底是怎么一回事,那用内置的 `socket` 模块就能快速上手。下面这个 TCP 的例子虽然基础,但把整个“客户端-服务器”的骨架都展示出来了——理解了它,后续再玩多线程、UDP、异步 IO 就都有了底子。
先确认一下系统里有没有 Python 3。大多数 Debian 发行版默认不带,安装也很简单:
```bash
sudo apt-get update
sudo apt-get install python3
```
接下来,写一个 TCP 服务端。创建一个 `tcp_server.py`,代码大致长这样:
```python
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_host = '127.0.0.1'
server_port = 12345
server_socket.bind((server_host, server_port))
server_socket.listen(5)
print(f"[*] Listening on {server_host}:{server_port}")
while True:
client_socket, client_address = server_socket.accept()
print(f"[+] Accepted connection from {client_address[0]}:{client_address[1]}")
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received message: {data}")
response = f"[*] Server received: {data}"
client_socket.send(response.encode('utf-8'))
client_socket.close()
```
然后写客户端,`tcp_client.py`:
```python
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_host = '127.0.0.1'
server_port = 12345
client_socket.connect((server_host, server_port))
message = "Hello, Server!"
client_socket.send(message.encode('utf-8'))
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received response: {data}")
client_socket.close()
```
先在终端跑服务端:
```bash
python3 tcp_server.py
```
再另开一个终端跑客户端:
```bash
python3 tcp_client.py
```
服务端会打印收到的消息,并回复客户端。客户端收到回复后,连接自动关闭。
这只是最底层的写法,但该有的元素一个不少:创建 socket、绑定地址、监听、接受连接、收发数据、清理资源。实际项目中你可能需要处理多个连接,那就上多线程或者 `selectors` 模块;如果对实时性要求不高但想省资源,可以考虑 UDP。不过万变不离其宗,TCP 这个流程吃透了,其他都是锦上添花。
本文内容来源于互联网,如有侵权请联系删除。
先确认一下系统里有没有 Python 3。大多数 Debian 发行版默认不带,安装也很简单:
```bash
sudo apt-get update
sudo apt-get install python3
```
接下来,写一个 TCP 服务端。创建一个 `tcp_server.py`,代码大致长这样:
```python
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_host = '127.0.0.1'
server_port = 12345
server_socket.bind((server_host, server_port))
server_socket.listen(5)
print(f"[*] Listening on {server_host}:{server_port}")
while True:
client_socket, client_address = server_socket.accept()
print(f"[+] Accepted connection from {client_address[0]}:{client_address[1]}")
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received message: {data}")
response = f"[*] Server received: {data}"
client_socket.send(response.encode('utf-8'))
client_socket.close()
```
然后写客户端,`tcp_client.py`:
```python
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_host = '127.0.0.1'
server_port = 12345
client_socket.connect((server_host, server_port))
message = "Hello, Server!"
client_socket.send(message.encode('utf-8'))
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received response: {data}")
client_socket.close()
```
先在终端跑服务端:
```bash
python3 tcp_server.py
```
再另开一个终端跑客户端:
```bash
python3 tcp_client.py
```
服务端会打印收到的消息,并回复客户端。客户端收到回复后,连接自动关闭。
这只是最底层的写法,但该有的元素一个不少:创建 socket、绑定地址、监听、接受连接、收发数据、清理资源。实际项目中你可能需要处理多个连接,那就上多线程或者 `selectors` 模块;如果对实时性要求不高但想省资源,可以考虑 UDP。不过万变不离其宗,TCP 这个流程吃透了,其他都是锦上添花。
作者最新文章
PDF转PPT在线教程:极轻PDF转换步骤与背景音乐添加指南
2026-09-02 18:58
红米RedmiNote13字体大小如何设置 红米RedmiNote13字体大小设置方法
2026-08-25 15:12
vivo Z5(6GB/128GB/全网通)忘了手机密码怎么办?
2026-08-25 14:07
老用户159元套餐不及新用户39元划算,媒体:通信行业提质升级仍在路上
2026-08-25 12:21
2026 最好用的 ORM 框架:xbatis 1.9.7 正式发布,基于 mybatis 的 ORM 框架
2026-08-25 10:29
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















