Socket程式設計之併發模型

2021-04-29 12:58:21 字數 815 閱讀 3109

所謂併發模型,就是當伺服器端accept乙個新的連線請求後,便開乙個新執行緒,處理與客戶端的連線。併發模型簡單易用,適用於客戶端的併發連線請求不多的應用中,但併發請求過多便不適用。

示例**如下:

(完整示例**可參看:)

//迴圈接受客戶端連線請求,請求到達到,開新執行緒與客戶端互動

while (1)

socketinfo *psocketinfo = new socketinfo;

psocketinfo->addr = saddr;

psocketinfo->socket = tmpsock;

//create a thread to accept client connection

uint handle = _beginthreadex(null, 0, workthread, (lpvoid)psocketinfo, 0, 0);

if (handle == null)

}//工作執行緒

uint __stdcall csocketserver::workthread(lpvoid param)

if (retval == 0)

smsg[retval] = '/0';

//對收到的資料進行處理

processpacket(smsg,psocketinfo);

//parse the msg token times

//debug_print(smsg);

if(psocketinfo->pfilebuffer)

delete psocketinfo;

return 0;

}

併發程式設計之IO模型

io模型 io指的是輸入輸出,模型指的是套路,io模型就是指所有可以實現輸入輸出的套路。io的分類 io分為兩類 1.本地io 指的是輸入輸出到本地計算機,比如寫入硬碟,從硬碟中讀取資料等 2.網路io 指的是輸入輸出到網路計算機,速度遠比本地io慢。網路io是非常重要的乙個知識點 io模型一共分為...

Socket程式設計之OSI網路模型

開放系統互聯 operating system interconnet 網路參考模型是目前普遍參考的網路巨集觀檢視。windows scoket應用模型執行在上面三層,即應用層,表示層和會話層,而下面四層則是網路系統,即運輸層,網路層,資料鏈路層和物理層。winsock api則是提供了上層訪問下層...

併發Socket程式設計

1.非阻塞併發模型 直接將socket設定為非阻塞,輪詢處理連線和接收。缺點 極大消耗cpu資源,不適合實際應用。2.訊號驅動模型 當socket檔案描述符準備就緒後 核心會給程序傳送乙個 sigio 或 sigpoll訊號,signal sigio,fun 實際中 並不只有套接字有輸入時才會發出這...