国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 WebSockets 基礎教程

2020-03-24 16:47:13
字體:
來源:轉載
供稿:網友
HTML5之中一個很酷的新特性就是WebSockets,它可以讓我們無需AJAX請求即可與服務器端對話。今天彬Go將讓大家通過Php環境的服務器端運行WebSocket,創建客戶端并通過WebSockets協議發送和接收服務器端信息。什么是WebSockets?WebSockets是在一個(TCP)接口進行雙向通信的技術,PUSH技術類型。同時WebSockets仍將基于W3C標準,目前為止,Chrome和Safari的最新版本瀏覽器已經支持WebSockets了。WebSockets將會替代什么?WebSockets可以替代Long Polling(PHP服務端推送技術),這是一個有趣的概念??蛻舳税l送一個請求到服務器,現在,服務器端并不會響應還沒準備好的數據,它會保持連接的打開狀態直到最新的數據準備就緒發送,之后客戶端收到數據,然后發送另一個請求。這有它的好處:減少任一連接的延遲,當一個連接已經打開時就不需要創建另一個新的連接。但是Long-Polling并不是什么花俏技術,他仍有可能發生請求暫停,因此會需要建立新的連接。一些AJAX應用使用上述技術-這經常是歸因于低資源利用。試想一下,如果服務器在早晨會自啟動并發送數據到那些希望接收而不用提前建立一些連接端口的客戶端,這是一件多棒的事情?。g迎來到PUSH技術的世界!第一步:搞定WebSocket服務器這篇教程會把更多的精力放在客戶端的創建而不是服務器端的執行等操作。我使用基于windows 7的XAMPP來實現本地運行PHP。phpwebsockets是PHP WebSocket服務器。(以我的經驗這個版本存在一些小問題,我已對它做了些修改并上傳源文件共享給大家)下面的這些不同版本也可以實現WebSocket,如果某個不能用,你可以試試其它版本或者繼續看下面的教程。jWebSocket (Java)web-socket-ruby (ruby)Socket IO-node (node.js)啟動html' target='_blank'>Apache服務器第二步:修改URLs和端口根據你之前的安裝修改服務器,下面是setup.class.php中的例子:
public function __construct($host='localhost',$port=8000,$max=100)
{
$this- createSocket($host,$port);
}
!DOCTYPE html
html
head
script src= http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js /script

title WebSockets Client /title

/head
body
div id= wrapper

div id= container

h1 WebSockets Client /h1

div id= chatLog

/div !-- #chatLog --
p id= examples e.g. try 'hi', 'name', 'age', 'today' /p

input id= text type= text /
button id= disconnect Disconnect /button

/div !-- #container --

/div
/body
/html
我們已經創建里基本模板:一個chat log容器,一個input輸入框和一個斷開連接的按鈕。第四步:添加一些CSS沒什么花俏代碼,只是處理一下標簽的樣式。
body {
font-family:Arial, Helvetica, sans-serif;
}
#container{
border:5px solid grey;
width:800px;
margin:0 auto;
padding:10px;
}
#chatLog{
padding:5px;
border:1px solid black;
}
#chatLog p {
margin:0;
}
.event {
color:#999;
}
.warning{
font-weight:bold;
color:#CCC;
}
socket.onopen = function(){
alert( Socket has been opened! );
}
socket.onmessage = function(msg){
alert(msg); //Awesome!
}
但我們還是盡量避免使用alert,現在我們可以把我們學的東西整合到客戶端頁面中了。第六步:JavaScript首先我們將代碼放到jQuery 的 document.ready函數中,然后我們還要檢查用戶的瀏覽器是否支持WebSocket。如果不支持,我們就添加一個鏈向Chrome瀏覽器頁面的鏈接。
$(document).ready(function() {
if(!( WebSocket in window)){
$('#chatLog, input, button, #examples').fadeOut( fast );
$(' p Oh no, you need a browser that supports WebSockets. How about a href= http://www.google.com/chrome Google Chrome /a ? /p ').appendTo('#container');
}else{

//The user has WebSockets

connect();

function connect(){
//the connect function code is below

}
});
如你所見,如果用戶瀏覽器支持WebSocket,我們將執行connect()函數。這里是核心功能,我們將開始創建open、close和receive事件。我們將在我們的服務器定義URL。
你可能會發現URL中怎么沒有http?恩,是的,這是一個WebSocket URL,使用了不同的協議。下面是URL分解圖示:html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武隆县| 仁寿县| 依安县| 绥江县| 礼泉县| 越西县| 南召县| 伊宁县| 龙南县| 龙山县| 雷波县| 北碚区| 米易县| 琼结县| 永靖县| 兴和县| 门头沟区| 溆浦县| 当涂县| 香河县| 洱源县| 巩义市| 都安| 灵璧县| 扎囊县| 皮山县| 义马市| 盐亭县| 新密市| 嫩江县| 桦川县| 柯坪县| 弥渡县| 阿拉善左旗| 东兰县| 慈溪市| 金堂县| 那坡县| 炉霍县| 阜平县| 鄂州市|