商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 在CentOS上如何使用Python进行网络编程

在CentOS上如何使用Python进行网络编程

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

在CentOS上搞网络编程,Python依然是最顺手的工具之一。不过系统默认的Python 2.x在2020年已经退役了,所以第一步就是装个Python 3——这一步很简单,但很多新手容易忽略。

在CentOS上如何使用Python进行网络编程

先走个流程:打开终端,执行 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,这些才是真正写网络服务时派上用场的东西。

本文转载于:https://www.yisu.com/ask/90363145.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注