-
Prólogo
La diferencia y el significado de Restful y WebSocket no son difíciles de entender lógicamente, pero cómo usar WebSocket siempre es confuso, restfule es muy intuitivo de entender:
df = restful_get_data result = deal_data(df)
Pero websocket es datos empujados, los datos no están en bloques, ¿cómo usarlos?
-
concepto de websocket
-
Varios conceptos comunes
- Apretón de manos : el apretón de manos es el proceso de garantizar que el servidor y el cliente estén sincronizados;
- WebSocket (Web Socket): el Web Socket se define como comunicación bidireccional entre el servidor y el cliente, realizando comunicación en tiempo real entre el cliente y el servidor;
- URL : HTTP tiene su propio modo, WebSocket también tiene su propio modo:
- Dúplex completo : la comunicación desde ambos extremos tiene una velocidad bastante rápida.
Antes de websocket , toda la comunicación entre el cliente web y el servidor solo se basaba en HTTP.
websocket es un protocolo basado en TCP , una capa de transporte.
WebSocket es un protocolo con estado, y HTTP es un protocolo sin estado.
- Los pasos para establecer una conexión de Web Socket son los siguientes :
- El cliente establece una conexión a través de un proceso llamado protocolo de enlace Web Socket ;
- El proceso comienza con el cliente enviando una solicitud HTTP regular al servidor ;
- Solicite actualizar el encabezado . En esta solicitud, informa al servidor que la solicitud es para una conexión de Web Socket;
- Web Socket URL utiliza el esquema ws;
Un ejemplo simple del encabezado de solicitud inicial es el siguiente:
GET ws://websocket.example.com/ HTTP/1.1 Origin: http://example.com Connection: Upgrade Host: websocket.example.com Upgrade: websocket
-
evento websocket
Los cuatro principales API Web Socket eventos, cada evento mediante la implementación respectivamente
onopen
,onmessage
,onclose
,onerror
y otras funciones para manejar:-
Encender
Cuando se establece una conexión entre el cliente y el servidor,
open
se desencadena un evento desde la instancia de Web Socket . Se llama apretón de manos inicial entre el cliente y el servidor. Se llama al evento que se activa cuando se establece la conexiónonopen
.onopen
Se refiere al apretón de manos inicial entre el cliente y el servidor. -
Noticias
Un evento de mensaje generalmente ocurre cuando el servidor envía algunos datos. Los mensajes enviados por el servidor al cliente pueden incluir mensajes de texto sin formato, datos binarios o imágenes. Cada vez que se envían datos, se activa la
onmessage
función.Este evento actúa como el oído del cliente para el servidor, y el
onmessage
evento se activa cada vez que el servidor envía datos . -
Cerrar
El evento de apagado marca el final de la comunicación entre el servidor y el cliente. Con
onclose
la ayuda del evento, la conexión se puede cerrar. Después de que laonclose
comunicación se marca con la ayuda del evento, no se pueden transmitir más mensajes entre el servidor y el cliente. El evento de apagado también puede ocurrir debido a una mala conexión. -
Mal
Algunas banderas de error erróneas ocurren durante la comunicación. Fue
onerror
marcado con la ayuda de un incidente. Después de un error, la conexión siempre finaliza.Implementación de eventos Efecto onLoad Crear un objeto para inicializar la conexión. onOpen Establecer conexión con el servidor y enviar estado onMessage Mostrar información onSend Enviar un mensaje al servidor
-
-
operación websocket
Se admiten dos operaciones principales:
-
ciclo de vida de websocket
-
websocket 与 tranquilo
Websocket y restful existen uno al lado del otro, pero cuidadosamente distinguido, restful es una API basada en el protocolo http . De hecho, websocket corresponde directamente a http . Tanto websocket como http son protocolos, por lo que habrá una desviación de correspondencia conceptual.
En reposo , toda la comunicación HTTP es guiada por el cliente.
-
websocket 与websockets
Puedes ver estos dos paquetes en el código:
import websocket # 是一个websocket服务的client端模块,websocket-client import websockets # 同时包含server端和client端
En lo que respecta a los datos de suscripción, primero use websocket .
-
cliente websocket (websocket)
Hay una introducción de uso básico en github .
-
websockets ( sitio web oficial de los ebey tutorial )
Vea el tutorial de eBay.
-
Referencias
Comprender la ecología lógica de Python usando WebSocket
Supongo que te gusta
Origin blog.csdn.net/The_Time_Runner/article/details/105646308
Recomendado
Clasificación