網路程式設計9

2021-07-26 02:28:50 字數 517 閱讀 5930

1. 

伺服器模型

2.  迴圈伺服器:初始化套接字以及其他準備工作,然後在準備接收客戶端連線的時候,使用while(1)來迴圈的檢測,是否有客戶端發起連線。如果有客戶端請求連線,那麼在伺服器端為其建立乙個執行緒,專門為這個客戶端服務。

3.  簡單的併發伺服器:在伺服器端,構建多個子程序或者子執行緒,當客戶端的請求發來的時候,程序池中選取乙個子程序處理客戶端的連線,每個子程序處理乙個客戶端請求。

4.  io復用伺服器程式設計:1)main函式中,開兩個執行緒,乙個是專門用來建立連線的connect執行緒,另乙個是專門用來處理客戶端請求的request執行緒。 2)       在connect執行緒中,一直在accept連線客戶端,然後將這個連線成功的新的套接字放在全域性陣列變數中,更新。  3)在request執行緒中,主要是先對檔案描述符進行整理,獲得最大檔案描述符,再使用select來對多個套接字檔案描述符進行一定的時間內等待,檢視可讀套接字檔案描述符是否出現,就可以使用recv函式接收可讀客戶端的資料,同時也可以用send函式傳送必要的反饋資訊給該客戶端。

Linux 網路程式設計 9 執行緒池

任務佇列 que t 條件變數 pthread cond t 互斥鎖 pthread mutex t 啟動狀態startflag 執行緒id 執行緒數量 1.主線程 初始化執行緒池init 啟動執行緒池 tcpinit,監聽埠,等待客戶端連線,客戶端連線後,得到newfd,建立佇列的節點,儲存new...

Linux網路程式設計 9 伺服器模型

學習過 軟體工程 吧.軟體工程可是每乙個程式設計師 必修 的課程啊.如果你沒有學習過,建議你去看一看.在這一章裡面,我們一起來從軟體工程的角度學習網路程式設計的思想.在我們寫程式之前,我們都應該從軟體工程的角度規劃好我們的軟體,這樣我們開發軟體的效率才會高.在網路程式裡面,一般的來說都是許多客戶機對...

QT程式設計系列9 伺服器端的網路程式設計

伺服器端的網路程式設計 網路程式設計首先要確定的是所使用的協議,如面向連線的tcp協議,還有udp協議。如果我們選用tcp協議,那麼程式一般可分為伺服器端的程式和客服端的程式。首先我們來談談伺服器端的網路程式設計。在程式設計這類程式時,我們要用到兩個新的類,乙個是qtcpserver類,另乙個則是q...