WebSocket构造函数,为了建立到服务器的WebSocket连接,使用WebSocket接口,通过指向一个代表所要连接端点的URL,实例化一个WebSocket对象。
WebSocket协议定义了两种URL方案(URL Scheme):
- ws(WebSocket):客户端与服务器之间的非加密流量,与HTTP URI方案类似
- wss(WebSocket Secure):客户端与服务器之间的加密流量,该方案表示使用传输层安全性(TLS,也叫SSL)的WebSocket连接,使用HTTPS采用的安全机制来保证HTTP连接安全
WebSocket构造函数有一个必须的参数URL(指向连接目标的URL)和一个可选参数protocols(为了建立连接,服务器必须在其响应中包含一个或一组协议名称)。
在protocols参数中可以使用的协议包括XMPP(eXtensible Messaging and Presence Protocal,可扩展消息处理现场协议)、SOAP(Simple Object Access Protocol,简单对象访问协议)或者自定义协议。
WebSocket构造函数的必须参数如下,它必须是以ws://
或者wss://
开始的一个完全限定URL。
var ws = new WebSocket("ws://websocket.geek-docs.com");
在这个例子中,完全限定URL是ws://websocket.geek-docs.com
。如果URL有语法错误,构造函数将抛出异常
连接到WebSocket服务器时,可以选择使用第二个参数列出应用程序支持的协议,用于协议协商。
协议协商对于确定WebSocket服务器支持的协议及版本很有用。应用程序可能支持多个协议,使用协议协商选择与特定服务器通信的协议,下面代码展示了支持假想协议 myProtocal
的WebSocket构造函数。
var ws = new WebSocket("ws://websocket.geek-docs.com", "myProtocol");
注:WebSocket构造函数还可以包含一组客户端支持的协议,让服务器决定使用其中一个。