websocket是什么
websocket是HTML5出的一个在TCP上的全双工通信协议。它和HTTP其实没多大关系。
websocket有什么优点
websocket允许服务端主动向客户端发送消息。
HTTP协议服务端是无法主动向客户端发送消息的,想要实现推送就只能靠Ajax轮询,消耗资源大。
websocket怎么用
websocket有四个事件,两个方法
事件
- open事件:socket.onpen 连接建立时触发
- message事件:socket.onmessage 客户端接收服务端信息时触发
- error事件:socket.onerror 发送错误时触发
- close事件:socket.onclose 连接关闭时触发
方法
- socket.send() 使用连接发送数据
- socket.close() 关闭连接
来个实例
//先判断一下浏览器是不是支持
if ("Websocket" in window) {
//接着创建连接,new一个websocket对象
var ws = new Websocket("ws://localhost:9998/echo")
ws.onopen = function () {
//连接上之后就可以用send方法来发送数据了
ws.send("发送数据");
}
//发送之后就要接收从服务端来的数据了
ws.onmessage = function (evt) {
var data = evt.data; //获取数据存入变量
}
//最后当然还要关闭连接
ws.close();
ws.onclose = function () {
alert("连接关闭了,我关的")
}
}
查看连接状态
socket.readyState :
readyState 表示连接状态,可以是以下值:
0 - 表示连接尚未建立。
1 - 表示连接已建立,可以进行通信。
2 - 表示连接正在进行关闭。
3 - 表示连接已经关闭或者连接不能打开。
WebSocket是一种HTML5的全双工通信协议,不同于HTTP,它允许服务器主动推送消息。WebSocket使用包括open、message、error和close四个事件,以及send和close两个方法进行通信。在实例中,通过检查socket.readyState可得知连接状态。
606

被折叠的 条评论
为什么被折叠?



