Leer Websocket en un artículo

Directorio de artículos de la serie

Sugerencia: a través del estudio de este capítulo, querrá saber más sobre qué es websocket.



prefacio

提示:这里可以添加本文要记录的大概内容:

Por ejemplo: websocket es un nuevo protocolo de comunicación full-duplex en html5, que se basa en el protocolo Tcp y pertenece al protocolo de capa de aplicación.


提示:以下是本篇文章正文内容,下面案例可供参考

1. ¿Qué es Websocket?

WebSocket es un protocolo de red para comunicación full-duplex sobre una única conexión TCP. Una vez que se establece la conexión, se puede realizar una transmisión de datos bidireccional entre el cliente y el servidor, es decir, el servidor puede enviar datos de forma activa al cliente sin esperar la solicitud del cliente.

2. Cómo utilizar Websocket

Proceso de creación de front-end

Uso específico:
en la interfaz, puede usar la API WebSocket proporcionada por el navegador para crear una conexión WebSocket. En el backend, puede usar la biblioteca WebSocket proporcionada por varios lenguajes de programación y marcos para implementar el servidor WebSocket.

	  1、创建websocket对象
	  const ws = new WebSocket('ws://localhost:8080');
	  2、监听其事件
	  ws.onopen = function(event) {
    
    
	  console.log('WebSocket 连接成功!');
	  }
	  ws.onmessage = function(event) {
    
    
	  console.log('收到服务器发送的消息:', event.data);
	  }
	  ws.onclose = function(event) {
    
    
	  console.log('WebSocket 连接关闭!');
	  }
	  ws.onerror = function(event) {
    
    
	  console.log('WebSocket 连接出错!');
	  }

Proceso de creación de back-end

El código es el siguiente (ejemplo):

使用 Node.js 作为后端,可以使用 ws 模块来实现 WebSocket 服务端。首先需要安装 ws 模块:

Instalar código npm install ws


    然后,在代码中创建 WebSocket 服务器:
    const WebSocket = require('ws');
	const server = new WebSocket.Server({
    
     port: 8080 });
	server.on('connection', function(ws) {
    
    
	  console.log('WebSocket 连接成功!');
	  ws.on('message', function(data) {
    
    
	  console.log('收到客户端发送的消息:', data);
	  // 向客户端发送消息
	  ws.send('收到消息:' + data);
	});
	ws.on('close', function() {
    
    
	  console.log('WebSocket 连接关闭!');
	  });
    });

En el código anterior, WebSocket.Server crea un servidor WebSocket y escucha el puerto 8080.
server.on('conexión') escucha los eventos de conexión del cliente, ws.on('mensaje') escucha los eventos de envío de mensajes del cliente y ws. send envía mensajes a los clientes El cliente envía un mensaje y ws.on('close') escucha el evento de cierre de conexión del cliente.

Escenarios de aplicaciones de Websocket:

1、即时聊天应用:WebSocket 可以实现客户端和服务器之间的实时双向通信,适用于聊天室、在线客服等即时通讯场景。
2、实时数据展示:WebSocket 可以实时地将数据从服务器推送到客户端,适用于监控系统、实时数据分析等场景。
3、在线游戏:WebSocket 可以实现游戏客户端和服务器之间的实时双向通信,适用于多人在线游戏、竞技游戏等场景。
4、视频直播:WebSocket 可以实现视频流的实时传输和播放,适用于直播平台、在线教育等场景。
5、物联网:WebSocket 可以将传感器数据实时推送到云端,适用于智能家居、智能城市等场景。

desventajas de websocket:


   1、长连接:WebSocket 使用长连接,因此需要维护连接状态,消耗一定的系统资源。
   2、跨域限制:WebSocket 虽然支持跨域请求,但是在一些浏览器中,需要进行特殊的配置才能实现跨域请求。
   3、安全性:WebSocket 与 HTTP 协议不同,没有同源策略的限制,因此存在一定的安全风险,需要注意安全问题。
   4、兼容性:虽然现代浏览器都支持 WebSocket,但是一些老旧的浏览器不支持 WebSocket,需要进行特殊处理。
   5、无法使用 HTTP 缓存机制:WebSocket 通信的协议与 HTTP 协议不同,无法使用 HTTP 缓存机制,需要单独进行缓存处理。

websocketResumen:

En el proceso de uso de WebSocket, debe prestar atención a sus deficiencias y elegir la escena adecuada para usar.

Supongo que te gusta

Origin blog.csdn.net/weixin_48211022/article/details/129937542
Recomendado
Clasificación