在CentOS上进行Python网络编程,你需要了解一些基本的网络编程概念,比如套接字(sockets)、IP地址、端口号等。Python提供了socket模块,它支持多种网络协议,包括TCP/IP和UDP/IP。
以下是一个简单的Python网络编程示例,展示了如何在CentOS上使用socket模块创建一个TCP服务器和客户端。
TCP服务器
# server.py
import socket
# 创建一个socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
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"[+] {client_address} is connected.")
# 接收数据
data = client_socket.recv(1024)
print(f"[+] Received: {data.decode()}")
# 发送数据
client_socket.sendall(b"Hello, Client!")
# 关闭客户端连接
client_socket.close()
TCP客户端
# client.py
import socket
# 创建一个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))
# 发送数据
client_socket.sendall(b"Hello, Server!")
# 接收数据
data = client_socket.recv(1024)
print(f"[+] Received: {data.decode()}")
# 关闭连接
client_socket.close()
运行步骤
server.py和client.py。python server.py。python client.py。你应该会看到服务器和客户端之间的通信。
注意事项
asyncio、Flask、Django等。此外,如果你需要进行UDP通信,只需将socket.SOCK_STREAM替换为socket.SOCK_DGRAM,并相应地调整代码。