網路程式設計 09

2021-08-21 13:44:00 字數 1194 閱讀 5651

os.listdir(path)

os.path.isfile(): 判斷乙個檔案的型別是否為普通檔案  

os.path.isdir(): 判斷乙個檔案的型別是否為目錄

threading 的多執行緒併發

每有乙個客戶端就建立乙個新的執行緒處理客戶端請求

對比多程序

優點 : 資源消耗少

缺點 : 需要處理共享資源

注意gil問題

實現步驟

1. 建立套接字,繫結,監聽

2. 接收客戶端請求,建立新的執行緒

3. 主線程繼續等待其他客戶端連線,分支執行緒執行客戶    端請求

4. 處理完客戶端請求後,分支執行緒退出,關閉客戶端套    接字

socket 伺服器的繼承模組

python2  socketserver

python3  socketserver

功能 : 通過模組的介面完成基於多程序/多執行緒的             tcp/udp的socket併發程式

'streamrequesthandler',    處理tcp請求

'datagramrequesthandler',  處理udp請求

'forkingmixin',       建立多程序

'forkingtcpserver',   建立多程序tcp server

'forkingudpserver',   建立多程序udp server

'threadingmixin',     建立多執行緒

'threadingtcpserver',  建立多執行緒tcp server

'threadingudpserver',  建立多執行緒udp server

'tcpserver',    建立tcp server

'udpserver',    建立udp server

基於多執行緒併發的httpserver

1. 接收瀏覽器的http請求

2. 對請求進行解析

3. 根據解析判斷請求內容

4. 將要返回的內容組織http響應格式傳送給客戶端

公升級 : 

* 使用多執行緒併發

* 增加具體請求解析

* 增加資料獲取功能

* 封裝使用類

技術實現 : threading  併發

tcp socket 傳輸

http協議響應和請求的格式

學習筆記09 網路程式設計

網路程式設計 scoke程式設計 通訊 套接字程式設計 傳送端 1 建立傳送端socket物件 datagramsocket類 2 建立資料報包。datagrampacket類 datagrampacket 要傳送的內容 位元組陣列形式,陣列的長度,ip位址,埠號 怎麼獲取自己的ip位址?ineta...

函式式程式設計筆記 09

scalelist def scalalist xs list double factor double list double xs match 複製 抽象成map abstract class list t defscalelist xs list double factor double xs...

day09 併發程式設計

一,程序 1,程序的概念 程序 正在進行的乙個過程。是個抽象的概念 程式是一堆 程序是程式的執行過程 保證支援偽併發,起源於作業系統,是作業系統最核心的概念。2,多道技術 一 作業系統的作用 1 隱藏醜陋複雜的硬體介面,提供良好的抽象介面 2 管理 排程程序,並且將多個程序對硬體的競爭變得有序 二 ...