发布于2026-07-16 阅读(0)
扫一扫,手机访问
在CentOS上搞网络编程,Python依然是最顺手的工具之一。不过系统默认的Python 2.x在2020年已经退役了,所以第一步就是装个Python 3——这一步很简单,但很多新手容易忽略。

先走个流程:打开终端,执行 sudo yum install python3,几秒钟搞定。顺手把包管理器也装上,毕竟后面大概率要用第三方库:sudo yum install python3-pip。这样基础环境就齐活了。
接下来,写代码。用你顺手的编辑器,比如vim、nano或者gedit,创建一个Python文件,随便起个名字——我喜欢管服务器端叫 server.py,客户端叫 client.py。下面这个例子是最经典的TCP回显服务器,麻雀虽小五脏俱全:
# server.py
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:
connection, client_address = server_socket.accept()
try:
print(f"Connection from {client_address}")
data = connection.recv(1024)
print(f"Received {data.decode()}")
connection.sendall("Hello, client!".encode())
finally:
connection.close()
对应的客户端代码也不复杂:
# client.py
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))
try:
message = 'This is the message. It will be echoed back.'
client_socket.sendall(message.encode())
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = client_socket.recv(1024)
amount_received += len(data)
print(f"Received: {data.decode()}")
finally:
client_socket.close()
写完代码怎么跑?分两个终端窗口:一个先启动服务器 python3 server.py,另一个启动客户端 python3 client.py。你会看到服务器打印出客户端的连接信息,客户端收到服务器返回的“Hello, client!”。整个过程验证了TCP数据流的双向通信。
当然,这只是一个入门级别的示范。实际生产环境里,你很可能需要处理多个并发连接、添加SSL/TLS加密、用非阻塞I/O或者asyncio提升性能,甚至要考虑异常处理和资源回收。但有了这个基础,再往上走就顺理成章了。想继续深入?多看看 socketserver 模块、selectors 或者 asyncio,这些才是真正写网络服务时派上用场的东西。
上一篇:Java编译时依赖库如何管理
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8