前端websocket怎么用
时间: 2023-05-10 07:03:48 浏览: 106
WebSocket是一种在Web浏览器和服务器之间进行双向通信的标准化技术。前端使用WebSocket可以实现实时推送数据和事件。本文将介绍WebSocket的一些基础知识和如何在前端使用WebSocket。
一、WebSocket简介
WebSocket是HTML5标准中新增的协议,与HTTP和HTTPS同属于应用层协议。WebSocket在建立连接后使用TCP作为传输层协议,数据可以在浏览器和服务器之间以小的开销轮询进行双向实时通信。
二、前端使用WebSocket
1. 创建WebSocket对象
在JavaScript代码中,可以通过创建WebSocket对象来与服务器建立连接。创建WebSocket对象时需要传入服务器端的URL,而URL地址必须以ws://或wss://开头(wss://是在SSL/TLS的安全通道上打开的WebSocket,并加密通信)。
var ws = new WebSocket("ws://127.0.0.1:8080");
2. WebSocket事件
WebSocket对象有四个事件,分别是:
onopen:当WebSocket连接建立时触发该事件
onmessage:当收到来自服务器的消息时触发该事件
onerror:当WebSocket发生错误时触发该事件
onclose:当WebSocket连接关闭时触发该事件
这些事件可以通过在WebSocket对象上使用回调函数来处理。
ws.onopen = function(evt) {
console.log("Connection open...");
};
ws.onmessage = function(evt) {
console.log("Received Message: " + evt.data);
};
ws.onerror = function(evt) {
console.log("Websocket Error: " + evt.data);
};
ws.onclose = function(evt) {
console.log("Connection closed...");
};
3. WebSocket API
WebSocket对象还有一些方法,可以向服务器发送数据、关闭连接等。
send():向服务器发送数据
close():关闭WebSocket连接
readyState:用于返回WebSocket的当前状态。以下是可能的值:
0:WebSocket正在连接中
1:WebSocket已经建立连接
2:WebSocket正在关闭
3:WebSocket已经关闭
4. 实例演示
下面是一个简单的例子,展示了如何使用WebSocket对象进行通信:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Web Socket Test</title>
</head>
<body>
<script>
var ws = new WebSocket("ws://localhost:8080");
ws.onopen = function(evt) {
console.log("Connection open...");
ws.send("Hello Server!");
};
ws.onmessage = function(evt) {
console.log("Received Message: " + evt.data);
ws.close();
};
ws.onerror = function(evt) {
console.log("Websocket Error: " + evt.data);
};
ws.onclose = function(evt) {
console.log("Connection closed...");
};
</script>
</body>
</html>
以上代码连接到本地主机的WebSocket服务器(默认端口8080),发送消息“Hello Server!”并在收到服务器的响应后关闭连接。
本文介绍了WebSocket的一些基础知识以及在前端如何使用WebSocket进行实时通信。因为WebSocket是HTML5标准的一部分,所以在目前的最新浏览器中均可使用,若要在其他浏览器中使用,则需要使用JavaScript库或框架来实现。
阅读全文