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

什么是 WebSocket?深入理解html5中WebSocket

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

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

什么是 WebSocket

WebSocket的服务端和客户端可以双向进行通讯,并且允许跨域通讯。由HTTP/1.1的Upgrade机制支持,通过ws(非加密)或wss(加密)协议进行通讯

WebSocket WebSocket(
  in DOMString url,
  in optional DOMString protocols
);

WebSocket WebSocket(
  in DOMString url,
  in optional DOMString[] protocols
);

HTML5 中的 WebSocket

HTML5只专注于客户端的API, 而服务器端是各个语言自己去实现

// 创建一个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()
};

事件
onclose onerror onmessage onopen

属性

  • readyState: CONNECTING 0 OPEN 1 CLOSING 2 CLOSED 3

  • binaryType: String Blob ArrayBuffer

兼容性

方法1:
如果客户端不支持WebSocket, 那么可以使用几个候选选项 Flash Socket AJAX long-polling AJAX multipart streaming IFrame JSONP polling

方法2
使用Socket.io来抹平差异,该库可以在浏览器不支持WebSocket的时候, 自动用浏览器支持的消息推送方式进行连接, 该库还会检测连接是否掉线,并在掉线时自动为你重新连接。

// 创建Socket.IO实例,建立连接
var socket= new io.Socket('localhost',{
  port: 8080,
});
socket.connect();
// 添加一个连接监听器
socket.on('connect',function(){
  console.log('Client has connected to the server!');
});
// 添加一个连接监听器
socket.on('message',function(data){
  console.log('Received a message from the server!',data);
});
// 添加一个关闭连接的监听器
socket.on('disconnect',function(){
  console.log('The client has disconnected!');
});
// 通过Socket发送一条消息到服务器
function sendMessageToServer(message){
  socket.send(message);
}

优势

  • 实时双向通信

  • 浏览器本地支持良好(兼容性可以用第三方库很好解决)

  • 支持自定义协议

实际应用

  • 聊天室

  • 服务器消息推送

  • 前后端实时系统

参考

  • Websocket | MDN

  • 认识HTML5的WebSocket

【相关推荐】

1. 免费h5在线视频教程

2. HTML5 完整版手册

3. php.cn原创html5视频教程

以上就是什么是 WebSocket?深入理解html5中WebSocket的详细内容,更多请关注微课江湖其它相关文章!

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

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

相关文章

  • 2017-08-06字中字效果的实现【html5实例】
  • 2018-12-03html5播放视频教程
  • 2018-12-03HTML5 网络拓扑图应用实例讲解
  • 2017-08-06关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
  • 2018-12-03使用html5可以干什么?Html5的优势和劣势(总结)
  • 2018-12-03HTML5边玩边学(十)-俄罗斯方块之控制界面篇(源码)
  • 2018-12-03phonegap使用方法介绍(七)播放音频的实现方法
  • 2018-12-03HTML5在a标签内放置块级元素示例代码_html5教程技巧
  • 2018-12-03html5触摸事件判断滑动方向的实现
  • 2018-12-03Html5简单实现涂鸦板的示例代码

文章分类

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

最近更新的内容

    • 关于文件异步上传的详细介绍
    • html5 touch事件实现触屏页面上下滑动(二)
    • Html5新增了哪些标签
    • HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例_html5教程技巧
    • HTML5 Canvas draw方法制作动画效果示例
    • 12个不为大家熟知的HTML5设计小技巧
    • Html5之title吸顶功能
    • html5中在用户可以开始播放视频/音频时触发的事件oncanplay
    • 推荐3D翻牌效果特效(收藏)
    • MyEclips如何使用?MyEclips实例用法总结

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

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