【Html5 WebSocket】WebSocket构造函数
2015-05-28 14:39
501 查看
《HTML5 WebSocket权威指南》学习笔记&1
在学习时WebSocket客户端API时,使用echo.websocket.org作为服务端,可以帮助学习者快速入门,减小学习难度,将较难的服务端学习延后。
在WebSocket中定义了两种URL方案(URL scheme ):
ws: 非加密流量 (http)
wss: 加密流量 (https)
顾名思义,两种方案的区别就在于前者不对流量加密传输,而后者使用传输层安全性(SSL)的WebSocket连接,使用Https机制采用的安全机制来保证Http连接的安全。
示例中使用的非加密方案。
myProtocol是客户端和服务端发送和接收双方都能理解的消息的协议,运行示例,通过开发者工具,当打开此页面(或刷新)时,可以看到此WebSocket连接是失败的,因为echo.websocket.org不知道myProtocol这个连接,当吧myProtocol改为com.kaazing.echo时,可以看到开发者工具的控制台就不再输出错误信息了,因为服务端理解com.kaazing.echo这个协议;
在开发者工具的控制台中,可看到com.kaazing.echo这一行的输出,因为服务端不认识example这一协议,只认识com.kaazing.echo这一协议。
注:onopen是WebSocket中的事件
在学习时WebSocket客户端API时,使用echo.websocket.org作为服务端,可以帮助学习者快速入门,减小学习难度,将较难的服务端学习延后。
WebSocket构造函数
WebSocket构造函数有三种,WebSocket(URL)、WebSocket(URL,protocol)、WebSocket(URL,[protocols]).WebSocket(URL)
此种构造函数最为基础和简单,只需要传入URL就可构造WebSocket连接(HTML5代码省略)var ws = new WebSocket("ws://echo.websocket.org");
在WebSocket中定义了两种URL方案(URL scheme ):
ws: 非加密流量 (http)
wss: 加密流量 (https)
顾名思义,两种方案的区别就在于前者不对流量加密传输,而后者使用传输层安全性(SSL)的WebSocket连接,使用Https机制采用的安全机制来保证Http连接的安全。
示例中使用的非加密方案。
WebSocket(URL,protocol)
此种构造函数传入URL以及一个协议名称来构造WebSocket连接(HTML5代码省略)var ws2 = new WebSocket("ws://echo.websocket.org","myProtocol");
myProtocol是客户端和服务端发送和接收双方都能理解的消息的协议,运行示例,通过开发者工具,当打开此页面(或刷新)时,可以看到此WebSocket连接是失败的,因为echo.websocket.org不知道myProtocol这个连接,当吧myProtocol改为com.kaazing.echo时,可以看到开发者工具的控制台就不再输出错误信息了,因为服务端理解com.kaazing.echo这个协议;
WebSocket(URL,[protocols])
使用此构造函数时,服务端会从协议数组选取自己能理解的协议,所以这个构造函数提供了让应用程序对不同服务器使用不同协议的灵活性(HTML5代码省略)var ws3 = new WebSocket("ws://echo.websocket.org",["com.kaazing.echo", "example"]); ws3.onopen=function(e){ //Check the protocol chosen by the server console.log(ws3.protocol); }
在开发者工具的控制台中,可看到com.kaazing.echo这一行的输出,因为服务端不认识example这一协议,只认识com.kaazing.echo这一协议。
注:onopen是WebSocket中的事件
相关文章推荐
- HTML5 WebSocket 封装
- html5的websocket
- 认识HTML5的WebSocket
- 基于tomcat运行HTML5 WebSocket echo例子
- Java后端WebSocket的Tomcat实现 html5 WebSocket 实时聊天
- 认识HTML5的WebSocket
- 浅谈HTML5 WebSocket的机制
- HTML5 websocket实验,后台为golang http包使用
- 基于HTML5和Tomcat WebSocketServlet的聊天室简单实现
- HTML5 WebSocket 技术介绍
- 基于html5websocket java实现简单通讯(虽然通了但是...你懂得)
- HTML5 WebSocket 之 HelloWorld
- 认识HTML5的WebSocket
- 让ie6 7 8 9支持html5 websocket
- websocket与html5实现批量大文件逐…
- HTML5之WebSocket教程(三)-通信模型socket.io
- 使用 HTML5 WebSocket 构建实时 Web 应用
- java+html5的websocket简单实现BS聊天DEMO实例
- HTML5-WebSocket实现多文件同时上传
- webkit HTML5 WebSocket 综合分析 1