在Python中,進行網絡編程通常使用socket
庫。以下是一個簡單的TCP客戶端和服務器示例:
import socket
# 創建一個IPv4, TCP的socket對象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機名
host = socket.gethostname()
port = 9999
# 綁定端口號
server_socket.bind((host, port))
# 開始監聽連接,最大掛起連接數為5
server_socket.listen(5)
print("服務器已啟動,等待客戶端連接...")
# 當客戶端連接時,接受連接并創建一個新的socket對象
client_socket, addr = server_socket.accept()
print("客戶端已連接:", addr)
# 接收客戶端發送的數據
data = client_socket.recv(1024)
print("收到數據:", data.decode())
# 向客戶端發送數據
client_socket.send("你好,我是服務器!".encode())
# 關閉客戶端socket
client_socket.close()
# 關閉服務器socket
server_socket.close()
import socket
# 創建一個IPv4, TCP的socket對象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機名
host = socket.gethostname()
port = 9999
# 連接到服務器
client_socket.connect((host, port))
# 向服務器發送數據
client_socket.send("你好,我是客戶端!".encode())
# 接收服務器發送的數據
data = client_socket.recv(1024)
print("收到數據:", data.decode())
# 關閉客戶端socket
client_socket.close()
首先運行服務器代碼,然后運行客戶端代碼。服務器將接收到客戶端發送的數據,并向客戶端發送響應。客戶端收到服務器的響應后,程序結束。
這只是一個簡單的示例,實際的網絡編程可能會涉及到更多的概念,如多線程、多進程、異步編程等。在實際項目中,你還可以使用requests
庫(用于HTTP請求)或socketserver
庫(用于創建更高級的Socket服務器)等進行網絡編程。