Socket服務器簡介
Socket服務器是一種網絡通信協(xié)議,它允許計算機之間進行雙向通信,在客戶端和服務器之間建立連接后,它們可以通過這個連接發(fā)送和接收數據,Socket服務器可以用于實現各種網絡應用,如聊天程序、文件傳輸、遠程控制等。
創(chuàng)建Socket服務器
要創(chuàng)建一個Socket服務器,首先需要導入socket模塊,然后創(chuàng)建一個socket對象,綁定IP地址和端口號,最后監(jiān)聽客戶端的連接請求,以下是一個簡單的Socket服務器示例:
import socket 創(chuàng)建socket對象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 綁定IP地址和端口號 server_address = ('localhost', 8080) server_socket.bind(server_address) 監(jiān)聽客戶端連接請求 server_socket.listen(5) print("服務器已啟動,等待客戶端連接...")
接收客戶端連接
當客戶端發(fā)起連接請求時,服務器需要接受這個連接,可以使用accept()
方法來實現這一點,以下是一個簡單的示例:
接受客戶端連接 client_socket, client_address = server_socket.accept() print("客戶端已連接:", client_address)
發(fā)送數據到客戶端
與客戶端建立連接后,服務器可以通過send()
方法向客戶端發(fā)送數據,以下是一個簡單的示例:
發(fā)送數據到客戶端 data = "Hello, client!".encode('utf8') client_socket.send(data) print("數據已發(fā)送")
關閉連接
在完成數據傳輸后,需要關閉客戶端和服務器之間的連接,可以使用close()
方法來實現這一點,以下是一個簡單的示例:
關閉連接 client_socket.close() server_socket.close() print("連接已關閉")
完整代碼示例
將以上代碼片段組合在一起,可以得到一個完整的Socket服務器示例:
import socket 創(chuàng)建socket對象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 綁定IP地址和端口號 server_address = ('localhost', 8080) server_socket.bind(server_address) 監(jiān)聽客戶端連接請求 server_socket.listen(5) print("服務器已啟動,等待客戶端連接...") while True: # 接受客戶端連接 client_socket, client_address = server_socket.accept() print("客戶端已連接:", client_address) print("數據已發(fā)送") # 關閉連接 client_socket.close() server_socket.close() print("連接已關閉")