UDP循環(huán)服務(wù)器 |
發(fā)布時間: 2012/6/19 17:30:24 |
UDP服務(wù)器每次從套接字上讀取一個客戶端的數(shù)據(jù)報請求,處理接收到的UDP數(shù)據(jù)報,然后將結(jié)果返回給客戶機。 創(chuàng)建UDP循環(huán)服務(wù)器的算法如下:socket(……); //創(chuàng)建一個數(shù)據(jù)報類型的套接字bind(……); //邦定公認(rèn)的短口號while(1) //開始接收客戶端的連接{ //接收和處理客戶端的UDP數(shù)據(jù)報recvfrom(……);process(……);sendto(……);//準(zhǔn)備接收下一個客戶機的數(shù)據(jù)報}因為UDP是非面向連接的,沒有一個客戶端可以獨占服務(wù)器。只要處理過程不是死循環(huán),服務(wù)器對于每一個客戶機的請求總是能夠處理的。 UDP循環(huán)服務(wù)器在數(shù)據(jù)報流量過大時由于處理任務(wù)繁重可能造成客戶技數(shù)據(jù)報丟失,但是因為UDP協(xié)議本身不保證數(shù)據(jù)報可靠到達(dá),所以UDP協(xié)議是允許丟失數(shù)據(jù)報的。 鑒于以上兩點,一般的UDP服務(wù)器采用循環(huán)方式4、UDP并發(fā)服務(wù)器把并發(fā)的概念應(yīng)用UDP就得到了并發(fā)UDP服務(wù)器,和并發(fā)TCP服務(wù)器模型一樣是創(chuàng)建子進程來處理的。 創(chuàng)建UDP并發(fā)服務(wù)器的算法如下:socket(……); //創(chuàng)建一個數(shù)據(jù)報類型的套接字bind(……); //邦定公認(rèn)的短口號while(1) //開始接收客戶端的連接{ //接收和處理客戶端的UDP數(shù)據(jù)報recvfrom(……);if(fork(……)==0) //創(chuàng)建子進程{ process(……);sendto(……);}除非服務(wù)器在處理客戶端的請求所用的時間比較長以外,人們實際上很少用這種UDP并發(fā)服務(wù)器模型的。 服務(wù)器專員億恩天使QQ530997 分享 北京兆維五星級數(shù)據(jù)中心,5M獨享,1W元/年。 本文出自:億恩科技【www.yaz797.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |