Leia Websocket em um artigo

Diretório de artigos da série

Dica: Através do estudo deste capítulo, você deseja saber mais sobre o que é websocket.



prefácio

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

Por exemplo: websocket é um novo protocolo de comunicação full-duplex em html5, que é baseado no protocolo Tcp e pertence ao protocolo da camada de aplicação.


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

1. O que é Websocket?

WebSocket é um protocolo de rede para comunicação full-duplex em uma única conexão TCP. Depois que a conexão é estabelecida, a transmissão de dados bidirecional pode ser realizada entre o cliente e o servidor, ou seja, o servidor pode enviar dados ativamente para o cliente sem esperar pela solicitação do cliente.

2. Como usar Websocket

Processo de criação de front-end

Uso específico:
No front-end, você pode usar a API WebSocket fornecida pelo navegador para criar uma conexão WebSocket. No back-end, você pode usar a biblioteca WebSocket fornecida por várias linguagens de programação e estruturas para implementar o 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 连接出错!');
	  }

Processo de criação de back-end

O código é o seguinte (exemplo):

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

Instalar código npm instalar 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 连接关闭!');
	  });
    });

No código acima, WebSocket.Server cria um servidor WebSocket e escuta a porta 8080.
server.on('connection') escuta os eventos de conexão do cliente, ws.on('message') escuta os eventos de envio de mensagem do cliente e ws. send envia mensagens para clientes O cliente envia uma mensagem e ws.on('close') escuta o evento de fechamento de conexão do cliente.

Cenários de aplicativos Websocket:

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

desvantagens do websocket:


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

websocketResumo:

No processo de uso do WebSocket, você precisa prestar atenção às suas deficiências e escolher a cena apropriada para usar.

Acho que você gosta

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