分类: 系统运维
2012-07-23 21:13:39
WebSocket规范,作为HTML5的一部分---包括WebSocket JavaScript接口,它定义了一个支持双向通信的单socket连接,通过它信息可以在客户端和服务端进行传输。WebSocket标准简化了复杂的双向web通信和连接管理。
WebSocket相对于Comet和Ajax而言,代表了web通信的进一步发展方向。然而,每种技术都有它自己独特的优势(能力)。学习这些技术,根据它们的不同点,你就可以根据需求作出正确的选择。
创建你的测试例子
使用一个文本编辑器,复制下面的代码,保存为websocket.html(随便保存到哪里)。然后用浏览器打开它。这个页面将会自动连接,发送一条消息,输出响应,然后关闭连接。
var wsUri = "ws://echo.websocket.org/";
var output;
function init() {
output = document.getElementById("output");
testWebSocket();
}
function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) }; }
function onOpen(evt) {
writeToScreen("CONNECTED");
doSend("WebSocket rocks"); }
function onClose(evt) {
writeToScreen("DISCONNECTED");
}
function onMessage(evt) {
writeToScreen('RESPONSE: ' + evt.data+''); websocket.close();
}
function onError(evt) {
writeToScreen('ERROR: ' + evt.data);
}
function doSend(message) {
writeToScreen("SENT: " + message);
websocket.send(message);
}
function writeToScreen(message) {
var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
output.appendChild(pre);
}
window.addEventListener("load", init, false);
WebSocket Test