在Python中進行Linux網絡編程,你可以使用套接字(socket)庫。套接字是網絡編程的基礎,它允許不同計算機上的進程通過互聯網進行通信。以下是一個簡單的TCP服務器和客戶端示例:
import socket
# 創建一個IPv4, TCP的套接字對象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 綁定IP地址和端口號
server_address = ('0.0.0.0', 12345)
server_socket.bind(server_address)
# 開始監聽連接
server_socket.listen(1)
print("服務器已啟動,等待客戶端連接...")
# 當客戶端連接時,接受連接并創建一個新的套接字對象
client_socket, client_address = server_socket.accept()
print(f"客戶端已連接:{client_address}")
# 接收客戶端發送的數據
data = client_socket.recv(1024)
print(f"收到來自客戶端的消息:{data.decode('utf-8')}")
# 向客戶端發送數據
client_socket.send("你好,我是服務器!".encode('utf-8'))
# 關閉套接字
client_socket.close()
server_socket.close()
import socket
# 創建一個IPv4, TCP的套接字對象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 連接到服務器
server_address = ('服務器IP地址', 12345)
client_socket.connect(server_address)
# 向服務器發送數據
client_socket.send("你好,我是客戶端!".encode('utf-8'))
# 接收服務器發送的數據
data = client_socket.recv(1024)
print(f"收到來自服務器的消息:{data.decode('utf-8')}")
# 關閉套接字
client_socket.close()
請注意,你需要將服務器IP地址
替換為實際的服務器IP地址。運行服務器代碼后,再運行客戶端代碼,你將看到服務器和客戶端之間的消息傳遞。
這只是一個簡單的示例,你可以根據自己的需求進行擴展,例如使用多線程處理多個客戶端連接、實現更復雜的通信協議等。