Web Sockets要点小结

版权声明:如果这篇文章对你有所帮助,请点个赞~~~ https://blog.csdn.net/qq_35087256/article/details/81515592

下面是最基本的用法示例:

var socket = new WebSocket("ws://www.xxx.com/1.php");

//WebSocket对象不支持DOM2级事件侦听,所以只能使用DOM0级定义事件处理

//在成功建立连接时触发
socket.onopen = function(){
    console.log('open')
}

//在发生错误时触发
socket.onerror = function(){
    console.log('error')
}

//在连接关闭时触发
socket.onclose = function(ev){
    //布尔值。表示连接是否关闭。
    console.log(ev.wasClean);
    //数值。服务器返回的数值状态码
    console.log(ev.code);
    //字符串。服务器返回的信息。
    console.log(ev.reason);
}

socket.onmessage = function(ev){
    //字符串。服务器返回的数据。
    console.log(ev.data)
}

//WebSocket只能发送纯文本数据。复杂的数据可以先进行JSON序列化。
socket.send("hello world");

除了标注的要点外,还有需要注意的几个特点:

1、WebSocket提供全双工、双向通信(地球人都知道)。

2、在JS中创建一个WebSocket连接后,会有一个HTTP请求发送到浏览器发起连接。取得服务器响应后,建立的连接会使用HTTP升级从HTTP协议交换为WebSocket协议。

3、未加密的连接不再是http://,而是ws://;加密的连接不再是https://,而是wss://

4、WebSocket没有readystatechange事件,不过有readyState属性表示当前的状态。0:正在建立连接;1:已经建立连接;2:正在关闭连接;3:已经关闭连接。

如果只是想创建到服务器的单向连接:

1、通用的长、短轮询 / HTTP流都是可以考虑的方式。
2、可以考虑XHR 结合SSE

猜你喜欢

转载自blog.csdn.net/qq_35087256/article/details/81515592