我們將在我們的服務(wù)器定義URL。
var socket; var host = "ws://localhost:8000/socket/server/startDaemon.php";
你可能會(huì)發(fā)現(xiàn)URL中怎么沒有http?恩,是的,這是一個(gè)WebSocket URL,使用了不同的協(xié)議。下面是URL分解圖示:
下面讓我們繼續(xù)完成connect()函數(shù),我們將代碼放入try/catch塊,這樣如果代碼出現(xiàn)問題,我們能讓用戶知道。我們創(chuàng)建WebSocket,并將信息傳遞到message()函數(shù),之后會(huì)做講解。我們創(chuàng)建我們的onopen、onmessage和onclose函數(shù). 需要注意的是我們?yōu)橛脩籼峁┝硕丝跔顟B(tài),這并不是必需的,但我們把它放進(jìn)來主要是為了方便調(diào)試。
CONNECTING = 0 OPEN = 1 CLOSED = 2 function connect(){ try{ var socket; var host = "ws://localhost:8000/socket/server/startDaemon.php"; var socket = new WebSocket(host); message('<p class="event">Socket Status: '+socket.readyState); socket.onopen = function(){ message('<p class="event">Socket Status: '+socket.readyState+' (open)'); } socket.onmessage = function(msg){ message('<p class="message">Received: '+msg.data); } socket.onclose = function(){ message('<p class="event">Socket Status: '+socket.readyState+' (Closed)'); } } catch(exception){ message('<p>Error'+exception); } }
message()函數(shù)很簡單, 它將我們想展現(xiàn)給用戶的文本填入chat log容器內(nèi)。 我們在socket事件函數(shù)中為段落(<p>)標(biāo)簽創(chuàng)建適當(dāng)?shù)腸lass,我們在message函數(shù)中只有一個(gè)段落結(jié)束標(biāo)簽。
function message(msg){ $('#chatLog').append(msg+'</p>'); }
目前的成果
如果你已按上面教程按部就班的做的話,很好,我們已經(jīng)創(chuàng)建了 HTML/CSS 模板、創(chuàng)建并建立Websocket連接、通過創(chuàng)建連接保持用戶的進(jìn)展更新。
出處:彬Go
責(zé)任編輯:bluehearts
上一頁 HTML5 WebSockets基礎(chǔ)使用教程 [3] 下一頁 HTML5 WebSockets基礎(chǔ)使用教程 [5]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|