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