H5-12.22web-worker(續(xù))及web socket

隔崎、Web存儲(chǔ)API

  1. 對(duì)于任何程序來說,能夠?qū)崿F(xiàn)數(shù)據(jù)存儲(chǔ)是必備功能之一弄捕,并且在需要的時(shí)候能夠提供數(shù)據(jù)僻孝。但在過去的Web客戶端,沒有能夠支持?jǐn)?shù)據(jù)存儲(chǔ)的有效機(jī)制守谓,cookie曾用來在客戶端存儲(chǔ)少量信息穿铆,但受其性質(zhì)所限,cookie只能存儲(chǔ)一些短的字符串

  2. 在HTML5中提供了Web存儲(chǔ)API斋荞,它是在cookie之上的增強(qiáng)荞雏。這個(gè)API允許我們?cè)谟脩舻挠脖P上存儲(chǔ)數(shù)據(jù),并在日后使用這些數(shù)據(jù)平酿。

  3. API可以分成兩個(gè)部分:

    1)信息必須且只在會(huì)話過程中使用—sessionStorage

    當(dāng)瀏覽器窗口關(guān)閉時(shí)凤优,數(shù)據(jù)全部丟失

    2)信息必須長(zhǎng)期保存且由用戶決定時(shí)長(zhǎng)—localStorage

    關(guān)閉瀏覽器窗口時(shí),數(shù)據(jù)繼續(xù)使用

    數(shù)據(jù)只能由用戶刪除

三蜈彼、sessionStorage

  1. sessionStorage這部分API就像是會(huì)話cookie的替代筑辨。

  2. cookie以及sessionStorage都是在特定的時(shí)間段內(nèi)保持?jǐn)?shù)據(jù)可用。但cookie使用瀏覽器作為引用幸逆,而sessionStorage使用單個(gè)窗口作為引用棍辕,這就意味著暮现,窗口關(guān)閉之后,sessionStorage就不能再使用痢毒。

  3. 方法

1)設(shè)置數(shù)據(jù)
   
   setItem(key,value)

   key - 作為存儲(chǔ)數(shù)據(jù)的唯一標(biāo)識(shí)
   value - 存儲(chǔ)的數(shù)據(jù)內(nèi)容(number/string)

2) 根據(jù)標(biāo)識(shí)獲取數(shù)據(jù)

   var value = getItem(key);
   
3) 刪除指定標(biāo)識(shí)的數(shù)據(jù)

    removeItem(key);

4)將存儲(chǔ)系統(tǒng)的所有數(shù)據(jù)刪除

    clear()

5)根據(jù)索引值返回key

     var key = key(index);
  1. 屬性

    返回當(dāng)前存儲(chǔ)系統(tǒng)的數(shù)據(jù)個(gè)數(shù)

    length

布局代碼
js代碼
js代碼
修改

四送矩、localStorage

  1. 提供的屬性和方法與sessionstorage一致

  2. storage事件

    實(shí)現(xiàn)多個(gè)窗口之間共享數(shù)據(jù)內(nèi)容

    問題:

    數(shù)據(jù)安全性低
    目前除Safari瀏覽器支持該事件,其他瀏覽器不支持

五哪替、Web socket

  1. 網(wǎng)絡(luò)協(xié)議

    客戶端與服務(wù)端進(jìn)行通信的協(xié)議

    HTTP協(xié)議 - 目前互聯(lián)網(wǎng)中最廣泛的協(xié)議
    SOCKET協(xié)議 - 應(yīng)用于實(shí)時(shí)即時(shí)通信

  2. HTTP協(xié)議的問題

    1)無狀態(tài)

    本次客戶端的請(qǐng)求,服務(wù)器端不知道客戶端的上次請(qǐng)求

    2)短連接

    指通訊雙方有數(shù)據(jù)交互時(shí)栋荸,就建立一個(gè)連接,數(shù)據(jù)發(fā)送完成后凭舶,則斷開此連接晌块,即每次連接只完成一項(xiàng)業(yè)務(wù)的發(fā)送。

 如果建立的是短連接帅霜,服務(wù)器無法主動(dòng)給客戶端發(fā)送信息
  1. web Socket

    實(shí)現(xiàn)了用HTTP不容易實(shí)現(xiàn)的服務(wù)器端的數(shù)據(jù)推送等智能通訊技術(shù)

  2. Web Socket的特點(diǎn)

    1)這個(gè)連接是實(shí)時(shí)的匆背,也是永久的
    2)服務(wù)端可以主動(dòng)推送消息
    3)服務(wù)端不需要輪詢客戶端的請(qǐng)求
    4)服務(wù)器端與客戶端之間通信無需重新建立連接

  3. 使用WorkerMan,設(shè)置socket客戶端

    1)設(shè)置php環(huán)境變量

    2)下載并解壓workerMan

    http://www.workerman.net/workerman
    
    workerMan學(xué)習(xí)文檔
    
    http://doc3.workerman.net/getting-started/simple-example.html
    

    3)在任意位置創(chuàng)建http_test.php文件,并將課件中的start.text文件中內(nèi)容復(fù)制到該文件中(位置任意身冀,能引用到Workerman文件中的Autoloader.php即可

    1. 運(yùn)行上建的文件钝尸,啟動(dòng)workerMan

      執(zhí)行workerMan

打開菜單搜索cmd
找到命令行
創(chuàng)建服務(wù)端php文件
打開命令行 服務(wù)端php文件
這樣就建好了本地服務(wù)端

六、Web socket的使用

  1. 調(diào)用 WebSocket 對(duì)象的構(gòu)造器來建立與服務(wù)器之間的通信連接

    var webSocket = new WebSocket (“ws://127.0.0.1: 8005/socket”) ;

    請(qǐng)求地址(url)不能再是http://開頭,Web Sockets的請(qǐng)求頭(url的開頭)

    ws:// - Web Socket的縮寫
    wss:// - 表示加密協(xié)議

  2. 使用 WebSocket 對(duì)象的 send() 方法對(duì)服務(wù)器發(fā)送數(shù)據(jù)

    webSocket.send (“data”);

    send() 方法只能發(fā)送文本數(shù)據(jù)搂根。,使用JSON對(duì)象把任何JavaScript,對(duì)象轉(zhuǎn)換稱文本數(shù)據(jù)后進(jìn)行發(fā)送珍促。

  3. 通過WebSocket對(duì)象的close() 方法來關(guān)閉socket,切斷通信連接:

    webSocket.close( ) ;

  4. Web Socket事件

    1)通過獲取 onmessage事件來接收服務(wù)器傳來的數(shù)據(jù):

    webSocket.onmessage = function( event ){
    
        var data = event.data ;
    }
    

    2)通過獲取 onopen 事件來監(jiān)聽 socket 的打開事件:

    webSocket.onopen = function( event ){
    
    }
    

    3)通過獲取onclose事件來監(jiān)聽socket 的關(guān)閉事件:

    webSocket.onclose = function( event ){
        
    }
    

    4)通過onerror事件剩愧,監(jiān)聽客戶端與服務(wù)器端連接出錯(cuò)

    webSocket.onerror = function( event ){
        
    }
    
建立連接猪叙,斷開鏈接演示
鏈接成功
發(fā)送鏈接,返回信息
斷開鏈接
  1. 通過讀取 readyState 的屬性值來獲取 WebSocket 對(duì)象的狀態(tài)仁卷。

    CONNECTING(數(shù)字值為0)穴翩,表示正在連接。
    OPEN(數(shù)字值為1)锦积,表示已建立連接芒帕。
    CLOSING(數(shù)字值為2),表示正在關(guān)閉連接丰介。
    CLOSED(數(shù)字值為2)背蟆,表示已關(guān)閉連接。

一首好聽的輕柔你的歌曲
http://music.163.com/#/song?id=437292675

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末基矮,一起剝皮案震驚了整個(gè)濱河市淆储,隨后出現(xiàn)的幾起案子冠场,更是在濱河造成了極大的恐慌家浇,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碴裙,死亡現(xiàn)場(chǎng)離奇詭異钢悲,居然都是意外死亡点额,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門莺琳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來还棱,“玉大人,你說我怎么就攤上這事惭等≌涫郑” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵辞做,是天一觀的道長(zhǎng)琳要。 經(jīng)常有香客問我,道長(zhǎng)秤茅,這世上最難降的妖魔是什么稚补? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮框喳,結(jié)果婚禮上课幕,老公的妹妹穿的比我還像新娘。我一直安慰自己五垮,他們只是感情好乍惊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拼余,像睡著了一般污桦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匙监,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天凡橱,我揣著相機(jī)與錄音,去河邊找鬼亭姥。 笑死稼钩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的达罗。 我是一名探鬼主播坝撑,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼粮揉!你這毒婦竟也來了巡李?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤扶认,失蹤者是張志新(化名)和其女友劉穎侨拦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辐宾,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狱从,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年膨蛮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片季研。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡敞葛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出与涡,到底是詐尸還是另有隱情惹谐,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布驼卖,位于F島的核電站豺鼻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏款慨。R本人自食惡果不足惜儒飒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望檩奠。 院中可真熱鬧桩了,春花似錦、人聲如沸埠戳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽整胃。三九已至颗圣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屁使,已是汗流浹背在岂。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛮寂,地道東北人蔽午。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酬蹋,于是被迫代替她去往敵國(guó)和親及老。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • web存儲(chǔ)API總覽 對(duì)于任何程序來說范抓,能夠?qū)崿F(xiàn)數(shù)據(jù)存儲(chǔ)是必備功能之一骄恶,并且在需要的時(shí)候能夠提供數(shù)據(jù)。但在過去的W...
    Alone灬旅途閱讀 849評(píng)論 0 1
  • Web存儲(chǔ)API 對(duì)于任何程序來說匕垫,能夠?qū)崿F(xiàn)數(shù)據(jù)存儲(chǔ)是必備功能之一僧鲁,并且在需要的時(shí)候能夠提供數(shù)據(jù)。但在過去的Web...
    云音流閱讀 941評(píng)論 0 1
  • 12.22學(xué)習(xí)經(jīng)驗(yàn)分享# Bruce_Zhu于2016.12.23 一、Web Worker Web Worker...
    旅行的意義zxy閱讀 885評(píng)論 1 1
  • web存儲(chǔ)API 對(duì)于任何程序來說悔捶,能夠?qū)崿F(xiàn)數(shù)據(jù)存儲(chǔ)是必備功能之一,并且在需要的時(shí)候能夠提供數(shù)據(jù)单芜。但在過去的Web...
    不住海邊也喜歡浪閱讀 491評(píng)論 0 0
  • 人類解放與人類腦力的宇宙大爆發(fā) 人工智能 這是一個(gè)科技快速迭代帶來的生產(chǎn)力的快速提升的時(shí)代蜕该,由此,導(dǎo)致建立于生產(chǎn)力...
    張千邏輯思維閱讀 853評(píng)論 0 1