• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 认识HTML5的WebSocket

认识HTML5的WebSocket

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含WebSocket,HTML,web等相关知识,匿名希望在学习及工作中可以帮助到您
认识HTML5的WebSocket

在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为Socket.IO。

一、什么是WebSocket API?
WebSocket API是下一代客户端-服务器的异步通信方法。该通信取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序。WebSocket目前由W3C进行标准化。WebSocket已经受到Firefox 4、Chrome 4、Opera 10.70以及Safari 5等浏览器的支持。

WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。WebSocket并不限于以Ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息;XHR受到域的限制,而WebSocket允许跨域通信。

Ajax技术很聪明的一点是没有设计要使用的方式。WebSocket为指定目标创建,用于双向推送消息。

二、WebSocket API的用法
只专注于客户端的API,因为每个服务器端语言有自己的API。下面的代码片段是打开一个连接,为连接创建事件监听器,断开连接,消息时间,发送消息返回到服务器,关闭连接。
CODE:

// 创建一个Socket实例
var socket = new WebSocket('ws://localhost:8080'); 
// 打开Socket 
socket.onopen = function(event) { 
  // 发送一个初始化消息
  socket.send('I am the client and I\'m listening!'); 
  // 监听消息
  socket.onmessage = function(event) { 
    console.log('Client received a message',event); 
  }; 
  // 监听Socket的关闭
  socket.onclose = function(event) { 
    console.log('Client notified socket has closed',event); 
  }; 
  // 关闭Socket.... 
  //socket.close() 
};

WebSocket是HTML5开始提供的一种单个TCP连接上进行全双工通讯的协议。
在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据相互传送。

浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立以后,客户端和服务器之间就可以通过TCP连接直接交换数据。

当你获取Web Socket连接后,你可以通过send()方法来向服务器发送数据,并通过onmessage事件来接受服务器返回的数据。

以下api用于创建WebSocket对象。

var socket = new WebSocket(url,[protocol]);
以上代码中第一个参数url,指定链接的URL。第二个参数protocol是可选的,指定了可接受的子协议。

WebSocket 属性

以下是WebSocket对象的属性。假定我们使用了以上代码创建了socket对象:
Socket.readyState 只读属性readyState表示连接状态,可以是以下值:
1. 0-表示连接尚未建立。
2. 1-表示链接已经建立,可以进行通行。
3. 2-表示连接正在进行关闭。
4. 3-表示连接已经关闭或者连接不能打开。
Socket.bufferedAmount 只读butteredAmount已经send()放入正在队列中等待传输,但是还没有发出的UTF-8文本字节数。

WebSocket事件
以下是WebSocket对象的相关事件。假定我们使用了创建的socket:
事件:open message error close
事件处理程序:Socket.onopen Socket.onmessage Socket.onerror Socket.onclose
描述:连接建立触发 客户端接受服务器端数据时触发 通信发生错误时触发 连接关闭时触发

WebSocket方法
以下是WebSocket对象的相关方法。假定我们使用了以上代码创建Socket对象:

方法: Socket.send() Socket.close()
描述: 使用连接发送数据 关闭连接

以上就是认识HTML5的WebSocket的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • 浅析HTML5的WebSocket与服务器推送事件
  • 带你认识HTML5中的WebSocket
  • HTML5实现WebSocket协议原理浅析
  • html5的websockets全双工通信详解学习示例
  • 利用html5的websocket实现websocket聊天室
  • html5-websocket基于远程方法调用的数据交互实现
  • HTML5-WebSocket实现聊天室示例
  • 详解WebSocket跨域问题解决
  • HTML5新增协议:WebSocket协议的实例
  • Websocket原理的深入理解

相关文章

  • 2018-12-03在ios端点击按钮闪烁解决方法
  • 2018-12-03用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件
  • 2017-08-06HTML5的自定义属性data-*详细介绍和JS操作实例
  • 2018-12-03IE8不兼容rgba()如何处理
  • 2018-12-03怎样以简单易懂方式向普通人解释 HTML5 对 HTML 技术的改进?
  • 2018-12-03HTML5 video 视频标签使用介绍_html5教程技巧
  • 2018-12-03HTML5 拖放(Drag 和 Drop)详解与实例
  • 2018-12-03Angular-指令总汇
  • 2018-12-03HTML5无插件多媒体Media-音频audio与视频video的详细介绍
  • 2018-12-03HTML5属性:form表单属性的用法实例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 字中字效果的实现【html5实例】_html5教程技巧
    • 《web全栈工程师的自我修养》这本书里说:不要在简历中出现Div+CSS,会减分!请教为什么这样说?
    • 在线演示一个全屏切换效果实例
    • html5 自定义播放器核心代码_html5教程技巧
    • html5怎么实现图片转圈的动画效果
    • 如何利用HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码的功能
    • 利用HTML 5和JavaScript创建绘图应用
    • IE9下html5初试小刀
    • HTML5/CSS3 网页加载进度条的实现,下载进度条等经典案例
    • HTML5的表单(绝对特别强大的功能)使用示例_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有