亚洲中文字幕无码AV,九九天天干人妻天天操天天玩,色欲久久国产色AV免费看老司,国产熟妇另类久久久久

【20年品牌建站】找北京網站建設公司就選新鴻儒/提供北京網站建設報價/北京網站制作/北京網站設計/網站開發、北京網站建設公司電話【400-024-1998】有優惠哦!
簡體
繁體 簡體
我們的服務遍布中國

我們的服務遍布中國
乃至世界

新鴻儒所服務的品牌地域與城市
北京 天津 上海 廣州 深圳 香港 廈門 江蘇 浙江 山東
重慶 長沙 武漢 成都 西安 寧夏 麗江 青海 云南 烏魯木齊
黑龍江 內蒙古 河北 ...
新鴻儒服務與合作的全球各地
美國 加拿大 德國 法國 英國 瑞士 意大利 荷蘭
印度 日本 韓國 ...

不論你的品牌在何處
我們都可以提供完善的服務與幫助

致電

400-024-1998

《高性能網站建設進階指南》閱讀筆記 2

發布時間:2013-11-22 瀏覽:377打印字號:

大部分Comet服務器或明顯地減少每個線程的資源開銷,或者使用微線程或進程。如ErlyComet

大多數使用Comet的Php web應用采用分離式(off-board),Php編寫的客戶端與使用另一門語言編寫的服務端通信。

工具包:Dojo Toolkit 或者 js.io

8.2 Transport Techniques

8.2.1 Polling

每x 毫秒發出一個請求,檢查是否有更新

setTimeout(function() {xhrRequest( {"foo" : "bar"})}, 2000);


function xhrRequest(data) {

           var xhr = new XMLHttpRequest();

            xhr.open("get", "http://localhost/foo.php", true);

            xhr.onreadystatechange = function() {

                      if(xhr.readyState == 4) {

                                //

                      }

           };

           xhr.send(null);

}

8.2.2 Long  polling

Polling 可能會浪費http請求,并且消耗寶貴的CPU時間和帶寬。即便數據更新間隔時間已知,polling可能會導致服務器端超負荷。服務器端還沒有響應上一個數據請求,第2個或者第3個請求接踵而至,對服務器進行狂轟亂炸。


Long polling: 服務器端只有在有可用的新數據時才響應,保持一個所有未響應請求和它們對應連接的大集合。服務端通過: Transfer-Encoding:chunked 或 Connection:close響應來保持這些請求連接。



function longPoll(url, callback) {

         var xhr = new XMLHttpRequest();

         xhr.onreadystatechange == function() {

              if(xhr.readyState ==4) {

                      callback(xhr.responseText);

                      xhr.open('GET', url, true);

                      xhr.send(null);

              }

           }


          xhr.open('POST', url, true);

          xhr.send(null);

}


長連接的為您提:每臺Apache服務器大約可以處理10 000個并發連接,而一個運行良好的Comet服務器應該有能力處理超過50 000個并發長連接,這在處理實時應用時是非常可取的。

8.2.3 Forever Frame

打開一個隱藏的Iframe,請求一個基于Http1.1 快編碼的文檔.

8.2.4 XHR Streaming

function xhrStreaming(url, callback) {

       xhr = new XMLHttpRequest();

       xhr.open('POST', url, true);

       var lastSize;

       if(xhr.readyState > 2 ) {

                    newTextReceived = xhr.responseText.substring(lastSize);

                    lastSize = xhr.responseText.length;

                    callback(newTextReceived);

       }

       if(xhr.readyState == 4) {

                    xhrStreaming(url, callback);

       }

8.2.5 websocket html5

8.3 Corss-Domain

Html5 postMessage

callback polling 

JSONP polling


function callbackPolling(url, callback) {

      var script = document.createElement("script");

      script.type = "text/javascript";

      script.src = url + "callback=callbackPolling.callback");

      callbackPolling.callback = function(data) {

           callbackPolling(url, callback);

           callback(data);

      };

      document.getElementsByTagName("head")[0].appendChild(script);

}


http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/ (八卦:麻球網,被盛大收購)

http://ajaxian.com/archives/jsonp-json-with-padding

http://ajaxpatterns.org/On-Demand_Javascript

8.4.1 Manging connections

FreeBSD/OS X 的 Kqueue

Linux 的 epoll

Windows 的 completions ports


主流語言中一些網絡庫封裝成了一致且跨平臺的API

C的libevent java.nio, twisted python


性能優化在不同情況下也大相徑庭,比如聊天程序,有許多連接,但在任何一個特定時間內只有一小部分用戶在接收信息。通過服務器端的連接共享管理大量閑置連接是有好處的。http://orbited.org 和 willowchat.org 做了深入的優化


實時股票報價監控應用程序,大量的連接不斷地更細,很少有閑置連接的存在。Jetty/Lightstreamer/Liberator對這種情況作了優化。

8.4.3 portocols

Comet的連接只允許server -> client 通信或雙向通信。

Bayeux Publish-Subscribe(pubsub)模型


隨著websocket的興起和處理百萬級用戶量的解決方案的出現,其復雜性會逐漸降低。





現在就與新鴻儒客服交流

400-024-1998

您也可進行在線咨詢或預約項目顧問
我要預約
在線咨詢