在CentOS上進行Python網絡編程,你可以使用Python的內置庫socket
來實現。以下是一個簡單的TCP服務器和客戶端的示例。
sudo yum install python3
tcp_server.py
的文件,并添加以下代碼以創建一個簡單的TCP服務器:import socket
# 創建一個socket對象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 綁定IP地址和端口
server_socket.bind(('0.0.0.0', 12345))
# 監聽連接
server_socket.listen(5)
print("Server is listening on port 12345")
while True:
# 接受客戶端連接
client_socket, client_address = server_socket.accept()
print(f"Connection from {client_address}")
# 接收客戶端發送的數據
data = client_socket.recv(1024)
print(f"Received data: {data.decode('utf-8')}")
# 向客戶端發送數據
client_socket.sendall("Hello from server".encode('utf-8'))
# 關閉客戶端連接
client_socket.close()
tcp_client.py
的文件,并添加以下代碼以創建一個簡單的TCP客戶端:import socket
# 創建一個socket對象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 連接到服務器
client_socket.connect(('127.0.0.1', 12345))
# 向服務器發送數據
client_socket.sendall("Hello from client".encode('utf-8'))
# 接收服務器發送的數據
data = client_socket.recv(1024)
print(f"Received data: {data.decode('utf-8')}")
# 關閉客戶端連接
client_socket.close()
python3 tcp_server.py
python3 tcp_client.py
你應該會看到服務器和客戶端之間的通信。
這只是一個簡單的示例,你可以根據需要擴展它,例如使用多線程或多進程處理多個客戶端連接,或者實現更復雜的協議。此外,還有其他第三方庫,如asyncio
和Twisted
,可以幫助你實現更高級的網絡編程功能。