HTML5 WebSocket 路徑中傳遞參數(shù)

一咖驮、 HTML5 WebSocket

WebSocket 是 HTML5 開始提供的一種在單個 TCP 連接上進(jìn)行全雙工通訊的協(xié)議。

WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單捻勉,允許服務(wù)端主動向客戶端推送數(shù)據(jù)。在 WebSocket API 中说敏,瀏覽器和服務(wù)器只需要完成一次握手诗赌,兩者之間就直接可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸被饿。

在 WebSocket API 中四康,瀏覽器和服務(wù)器只需要做一個握手的動作,然后狭握,瀏覽器和服務(wù)器之間就形成了一條快速通道闪金。兩者之間就直接可以數(shù)據(jù)互相傳送。

現(xiàn)在论颅,很多網(wǎng)站為了實(shí)現(xiàn)推送技術(shù)哎垦,所用的技術(shù)都是 Ajax 輪詢。輪詢是在特定的的時間間隔(如每1秒)恃疯,由瀏覽器對服務(wù)器發(fā)出HTTP請求漏设,然后由服務(wù)器返回最新的數(shù)據(jù)給客戶端的瀏覽器。這種傳統(tǒng)的模式帶來很明顯的缺點(diǎn)今妄,即瀏覽器需要不斷的向服務(wù)器發(fā)出請求郑口,然而HTTP請求可能包含較長的頭部鸳碧,其中真正有效的數(shù)據(jù)可能只是很小的一部分,顯然這樣會浪費(fèi)很多的帶寬等資源犬性。

二 瞻离、實(shí)現(xiàn)websocket通訊

客戶端代碼:

```

<!DOCTYPE html>

<html>

<head>

? ? <meta charset="utf-8" />

? ? <title>我猜猜</title>

? ? <link rel="stylesheet" >

? ? <script src="http://g.tbcdn.cn/kissy/k/1.4.0/seed-min.js?t=20141016"></script>

? ? <link rel="stylesheet" href="guess.css"/>

</head>

<body>

<h2 class="header">我猜猜</h2>

<div class="clearfix">

? ? <section class="mycanvas">

? ? ? ? <h3>畫板</h3>

? ? </section>

</div>

<section class="foot clearfix">

? ? <div class="btns">

? ? ? ? <!--<label for="">請輸入用戶名:</label>-->

? ? ? ? <!--<input type="text" id="J_User" value=""/>-->

? ? ? ? <label for="">請輸入成語:</label>

? ? ? ? <input type="text" id="J_Word" value=""/>

? ? ? ? <button type="submit" class="next" id="J_Submit">提交</button>

? ? </div>

? ? <div class="info" id="J_Message">

? ? ? ? <!--<div class="info-item">msg</div>-->

? ? </div>

</section>

<script>

? ? KISSY.use('core',function(S){

? ? ? ? var $ = S.all;

? ? ? ? var btnSubmit = $('#J_Submit'),

? ? ? ? ? ? txtWord = $('#J_Word'),

? ? ? ? ? ? divMsg = $('#J_Message'),

? ? ? ? ? ? //txtUser = $('#J_User'),

? ? ? ? ? ? tpl = '<div class="info-item">#msg#</div>';

? ? ? ? var ws = createWs();

? ? ? ? var ident = false;

? ? ? ? btnSubmit.on('click',function(){

? ? ? ? ? ? var word = txtWord.val();

? ? ? ? ? ? //var user = txtUser.val();

? ? ? ? ? ? if(ws){

? ? ? ? ? ? ? ? if(ident){

? ? ? ? ? ? ? ? ? ? ws.send(word);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? })

? ? ? ? function createWs(){

? ? ? ? ? ? var ws = null;

? ? ? ? ? ? if(window.WebSocket){

var url = 'ws://127.0.0.1:5000/index?token=xxxxxx';

? ? ? ? ? ? ? ? //ws = new WebSocket('wss://127.0.0.1:5000');

ws = new WebSocket(url);

? ? ? ? ? ? ? ? ws.onopen = function(e){

? ? ? ? ? ? ? ? ? ? html = tpl.replace(/#msg#/g, "已連接到服務(wù)器");

? ? ? ? ? ? ? ? ? ? divMsg.append(html);

? ? ? ? ? ? ? ? ? ? ident = true;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ws.onclose = function(e){

? ? ? ? ? ? ? ? ? ? html = tpl.replace(/#msg#/g, "服務(wù)器關(guān)閉");

? ? ? ? ? ? ? ? ? ? divMsg.append(html);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ws.onerror = function(){

? ? ? ? ? ? ? ? ? ? html = tpl.replace(/#msg#/g, "連接出錯");

? ? ? ? ? ? ? ? ? ? divMsg.append(html);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ws.onmessage = function(e){

? ? ? ? ? ? ? ? ? ? console.log(e.data);

? ? ? ? ? ? ? ? ? ? html = tpl.replace(/#msg#/g, e.data);

? ? ? ? ? ? ? ? ? ? divMsg.append(html);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return ws;

? ? ? ? }

? ? })

</script>

</body>

</html>

? ?```










參考:https://www.runoob.com/html/html5-websocket.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市乒裆,隨后出現(xiàn)的幾起案子套利,更是在濱河造成了極大的恐慌,老刑警劉巖缸兔,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吹艇,居然都是意外死亡惰蜜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門受神,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抛猖,“玉大人,你說我怎么就攤上這事鼻听〔浦” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵撑碴,是天一觀的道長撑教。 經(jīng)常有香客問我,道長醉拓,這世上最難降的妖魔是什么伟姐? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮亿卤,結(jié)果婚禮上愤兵,老公的妹妹穿的比我還像新娘。我一直安慰自己排吴,他們只是感情好秆乳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钻哩,像睡著了一般屹堰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上街氢,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天双藕,我揣著相機(jī)與錄音,去河邊找鬼阳仔。 笑死忧陪,一個胖子當(dāng)著我的面吹牛扣泊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘶摊,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼延蟹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了叶堆?” 一聲冷哼從身側(cè)響起阱飘,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虱颗,沒想到半個月后沥匈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忘渔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年高帖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畦粮。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡散址,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宣赔,到底是詐尸還是另有隱情预麸,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布儒将,位于F島的核電站吏祸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钩蚊。R本人自食惡果不足惜犁罩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望两疚。 院中可真熱鬧床估,春花似錦、人聲如沸诱渤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勺美。三九已至递胧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赡茸,已是汗流浹背缎脾。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留占卧,地道東北人遗菠。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓联喘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辙纬。 傳聞我的和親對象是個殘疾皇子豁遭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360