1. python文件轉位元組流上傳
圖片,視頻都是二進制的,你讀取的時候寫 rb ,然後你在請求的時候記得把視頻轉成.content
像這樣load_src = requests.get("http://"+srcs[i], headers=headers).content
2. Python 實現 tcp 網路程序,發送、接收數據
TCP協議是面向連接的、可靠的、基於位元組流的傳輸層通信協議。在進行TCP通信時,需要經過創建連接、數據傳送和終止連接三個步驟。這類似於生活中打電話的過程,通信開始前需先建立連接。
在TCP通信模型中,伺服器端和客戶端在連接前均需要創建連接。伺服器端可以處理多個客戶端的連接請求,而客戶端通常只與一個伺服器進行通信。當客戶端連接到伺服器時,伺服器端會創建一個新的套接字來標記這個客戶端,以單獨為其提供服務。
伺服器端通過listen函數將創建的主動套接字變為被動套接字,以接收新的客戶端連接請求。客戶端則使用connect函數主動鏈接伺服器。TCP通信中,必須先進行鏈接才能進行數據交換。當客戶端需要關閉連接時,可以調用close函數。伺服器端的recv函數會等待客戶端發送數據或調用close函數解除堵塞狀態。通過檢查recv返回的數據長度,可以判斷客戶端是否已下線。
在TCP客戶端和伺服器端的構建過程中,伺服器端需要監聽特定的IP和埠以接收連接請求,而客戶端則根據伺服器的IP和埠信息主動發起連接。伺服器端在處理多個客戶端連接時,通過循環接收和處理每個客戶端的數據,從而實現並發服務。
總結,TCP通信的核心在於建立連接、數據交換和斷開連接的過程。伺服器端需監聽特定埠以接收連接請求,客戶端主動發起連接。在連接中,伺服器和客戶端通過套接字進行數據傳輸,伺服器通過檢查recv返回的數據長度來判斷客戶端狀態。理解TCP通信的這一系列流程,對於構建可靠的網路應用程序至關重要。