自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone學(xué)習(xí)之路 基于HTTP長連接Server PUSH

移動開發(fā) iOS
本文介紹的是iPhone學(xué)習(xí)之路 基于HTTP長連接Server PUSH,很精確的為我們將講述了長連接Server PUSH,我們先來看內(nèi)容。

iPhone學(xué)習(xí)之路 基于HTTP長連接Server PUSH是本文要介紹的內(nèi)容,本文主要是圍繞長連接Server PUSH介紹,不多說,我們來看內(nèi)容。

服務(wù)器推實現(xiàn)的相關(guān)資料

有個不錯的文章《Comet:基于 HTTP 長連接的“服務(wù)器推”技術(shù)》。文章提到Comet現(xiàn)實應(yīng)用的需求:

監(jiān)控系統(tǒng):后臺硬件熱插拔、LED、溫度、電壓發(fā)生變化;

即時通信系統(tǒng):其它用戶登錄、發(fā)送信息;

即時報價系統(tǒng):后臺數(shù)據(jù)庫內(nèi)容發(fā)生變化;

也提到多種技術(shù)實現(xiàn)服務(wù)器推送。

我現(xiàn)在比較同意這個,介紹了選擇要注意的事項,比如服務(wù)器對long-polling的支持?,F(xiàn)在主要關(guān)心:

如果數(shù)據(jù)推送頻率不高,并發(fā)壓力不大,可以用基于 AJAX 的長輪詢(long-polling)方式,實現(xiàn)比較簡單。nginx有個Module可以支持long-polling,可能以后還支持Streaming。long-polling每次返回數(shù)據(jù)后是要再次請求。

如果數(shù)據(jù)變化快,想以推送為主,可以用基于 Iframe 及 htmlfile 的流(streaming)方式。這里有比較不錯的介紹,里邊還介紹了APE等一些服務(wù)器實現(xiàn),要根據(jù)具體情況來選擇。比如APE是C實現(xiàn)的,我是用java的,對我來說它不容易擴展(基本javascript的擴展性能可靠性能實現(xiàn)的功能要測試,對于實在想走80端口,這個是我目前找到的功能全,而且官方說支持100K+并發(fā),但是目前資料少,說明用的人不多啊)。

APE1.0主要還是long-polling,流方式使用XHRStreaming在IE上不行;相比而言streamHub流是使用寫<script>標簽實現(xiàn)的,可以跨瀏覽器。那些不開源的不要說了,python也不熟悉,Jetty 6 和 Tomcat 6已經(jīng)支持Comet,一般情況可以滿足,并發(fā)太大了也要做選擇,有人用netty自己實現(xiàn),支持10萬以上。想自己寫服務(wù)器看這個用xsocket實現(xiàn)了。

2010.5補充:以前對長連接和http persistent connection沒有太清晰的概念,在腦子里老是把請求和tcp連接混在一塊想。long-polling方式在firebug里能看到一個請求及數(shù)據(jù)返回響應(yīng),然后再請求,但都是同一tcp連接(支持http1.1的服務(wù)器)。像streamHub那樣用流方式的,我們看到一個返回響應(yīng)數(shù)據(jù)不斷漲,可通過其它請求,改變這一響應(yīng)數(shù)據(jù)內(nèi)容。以前錯誤的認為:這樣一個響應(yīng)才是同一連接,long-polling會重新建立tcp連接。

出于性能或其它原因,有些應(yīng)用比較適合用socket。B/S結(jié)構(gòu)客戶端可以用flash,以后HTML5,也是不錯的選擇。看這里文章中提到:

自己實現(xiàn)的server通常存在性能及可擴展性的問題,因此實現(xiàn)全部功能需要投入大量的開發(fā)精力。Hemlock通過flash長連到XMPP Server上。由于XMPP Server(如openfire, ejabberd等)本身就支持多服務(wù)器,因此使用默認的版本就可以支持上十萬的并發(fā),如果稍加優(yōu)化,同時支持上百萬用戶也不會有太大問題。

openfire開源的,基于mina實現(xiàn) (喜歡java代碼的也可以看看red5或者http://code.google.com/p/gfs-server/)

再加幾個基于netty的開源項目:

http://openr66.free.fr/GoldenGateFTP.html

http://code.google.com/p/jmemcache-daemon/

http://kevwil.github.com/aspen/

http://code.google.com/p/sensei-search/

(看到過的資料單機2*4core 16GB實現(xiàn)近50萬在線連接,每秒處理近10萬請求,c實現(xiàn),內(nèi)核,網(wǎng)卡等都經(jīng)過優(yōu)化;看過java***的就是Using Netty we have comet running on 100.000+ open connections - this uses some GB of memory and 20% of CPU on a quad core server.一個四核服務(wù)器10萬以上連接)

小結(jié):詳解基于HTTP長連接Server PUSH的內(nèi)容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2018-06-06 11:01:25

HTTP長連接短連接

2019-04-15 14:37:23

HTTPTCP長連接

2022-12-02 13:49:41

2011-07-06 14:22:52

iPhone Push

2011-07-26 09:32:08

iPhone 模擬器

2020-09-05 17:00:20

HTTP長連接短連接

2011-07-25 18:07:29

iPhone Push Notificati

2023-08-02 08:05:54

push系統(tǒng)迭代APP

2011-07-21 17:35:11

iPhone Table 圖片

2024-06-06 09:12:40

數(shù)據(jù)庫SQLServer

2011-07-20 17:22:26

iPhone Flurry

2017-04-24 08:31:26

Node.jsExpress.jsHTTP

2021-11-17 08:21:31

HTTP連接數(shù)據(jù)

2011-08-10 16:44:56

iPhone代理設(shè)計模式

2019-03-20 14:26:56

蘋果折疊屏iPhone X Fo

2011-07-18 13:56:19

2011-04-22 10:23:50

Server Push

2011-07-07 08:49:14

iPhone Push Notificati

2022-10-24 08:14:35

長連接負載均衡Conusmer

2009-08-10 16:25:30

JSP SQL Ser
點贊
收藏

51CTO技術(shù)棧公眾號