日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
淺入淺出ServerPush

推送技術(shù)Server Push的基礎(chǔ)思想是將瀏覽器主動(dòng)查詢(xún)信息改為服務(wù)器主動(dòng)發(fā)送信息。服務(wù)器發(fā)送一批數(shù)據(jù),瀏覽器顯示這些數(shù)據(jù),同時(shí)保證與服務(wù)器的連接。當(dāng)服務(wù)器需要再次發(fā)送一批數(shù)據(jù)時(shí),瀏覽器顯示數(shù)據(jù)并保持連接。以后,服務(wù)器仍然可以發(fā)送批量數(shù)據(jù),瀏覽器繼續(xù)顯示數(shù)據(jù),依次類(lèi)推。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),梁子湖企業(yè)網(wǎng)站建設(shè),梁子湖品牌網(wǎng)站建設(shè),網(wǎng)站定制,梁子湖網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,梁子湖網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

最近在做一個(gè)即時(shí)顯示的面板頁(yè)面。

需求:

1.即時(shí)顯示;

2.無(wú)刷新。

做Web的話,一聽(tīng)到無(wú)刷新,馬上想到的就會(huì)是Ajax,我第一版的實(shí)現(xiàn)方法是Ajax的Updatepanel+Timer控件,定時(shí)向服務(wù)器發(fā)出Request。實(shí)現(xiàn)是沒(méi)有問(wèn)題,但是對(duì)于資源的消耗非??植溃梢赃@么說(shuō)。打開(kāi)進(jìn)程管理器,可以看到數(shù)據(jù)庫(kù)和瀏覽器(因?yàn)槭窃诒緳C(jī)上做)的CPU占用比較高,并且瀏覽器的內(nèi)存占用一直在上升。囧——不用再多解釋了,你懂的。

資料到處找,各種找,從Fighting Team.SDF那里,了解到了Server Push——服務(wù)器推送技術(shù)??戳艘粌蓚€(gè)不怎么完整的Demo(網(wǎng)上這方面的資料,真不多,要不就是各種哥各種轉(zhuǎn)載的)后,開(kāi)始實(shí)施。來(lái),直接貼代碼:

這里要引入Threading的類(lèi)庫(kù):

 
 
 
  1. using System.Threading;  
  2. ///后臺(tái)程序段:  
  3. ///   
  4. /// 以發(fā)送服務(wù)端控制信息的方式提供HtmlTextWriter對(duì)象   
  5. ///    
  6. ///    
  7. protected override void Render(HtmlTextWriter writer)   
  8. {   
  9. base.Render(writer);   
  10. while (Response.IsClientConnected)   
  11. {   
  12. Response.Write(" ");   
  13. Response.Flush();   
  14. Thread.Sleep(41);   
  15. }   

可以看到,其實(shí)代碼非常簡(jiǎn)單,就是重寫(xiě)了Rander方法。方法里,做一個(gè)死循環(huán),將后臺(tái)數(shù)據(jù)庫(kù)里的數(shù)據(jù),不停地Response到前臺(tái),展示給用戶(hù)。就實(shí)現(xiàn)了這么一個(gè)推送的動(dòng)作。

小總結(jié)一下:這個(gè)方法因?yàn)橹挥幸粋€(gè)推送,比之前用Timer定時(shí)發(fā)送Request,再接受Response的方法優(yōu)化許多,不僅減少了服務(wù)器的開(kāi)銷(xiāo),也降低了數(shù)據(jù)庫(kù)的負(fù)荷。再打開(kāi)進(jìn)程管理器看一下,CPU和內(nèi)存的占用都比較低。不過(guò)可以相對(duì)性既然存在,那么說(shuō)明這個(gè)方法也有不利的一方面:ClientConnected意思是,客戶(hù)端連入,就是說(shuō)客戶(hù)端沒(méi)有斷開(kāi)與服務(wù)端的連接。我們知道服務(wù)器的連入數(shù)是有限制的,如果一直保持連接狀態(tài)不斷開(kāi)連接的話,那么連入數(shù)一多,這個(gè)資源的消耗又是很可怕的。所以權(quán)衡完Server Push技術(shù),比較適合用在連入數(shù)少的場(chǎng)合,比如像信息顯示面板之類(lèi)的,連入數(shù)都不較少,比較單一,則不會(huì)占用太多的資源。


本文名稱(chēng):淺入淺出ServerPush
標(biāo)題鏈接:http://www.5511xx.com/article/dhpecgd.html