在使用socket進(jìn)行網(wǎng)絡(luò)編程時(shí),首先要選擇一個(gè)合適的服務(wù)器模型是很重要的。在網(wǎng)絡(luò)程序里,通常都是一個(gè)服務(wù)器服務(wù)多個(gè)客戶機(jī),為了處理多個(gè)客戶機(jī)的請(qǐng)求,服務(wù)器端的程序有不同的處理方式。
目前最常用的服務(wù)器模型分為兩大類,循環(huán)服務(wù)器模型和并發(fā)服務(wù)器模型
循環(huán)服務(wù)器模型
UDP循環(huán)服務(wù)器模型
UDP循環(huán)服務(wù)器每次獲取一個(gè)客戶端的請(qǐng)求,處理后將結(jié)果返回給客戶端。
//UDP循環(huán)服務(wù)器模型偽代碼 main() { listenfd = socket(...);//創(chuàng)建監(jiān)聽套接字 bind(...);//將地址信息和listenfd綁定 while(1) { recvfrom(...);//從客戶端讀取 process(...);//處理 sendto(...);//發(fā)送回客戶端