Comprender la ecología lógica de Python usando WebSocket

  • 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
    1. Apretón de manos : el apretón de manos es el proceso de garantizar que el servidor y el cliente estén sincronizados;
    2. 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;
    3. URL : HTTP tiene su propio modo, WebSocket también tiene su propio modo:

    Inserte la descripción de la imagen aquí

    1. 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.

    1. 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, onerrory otras funciones para manejar:

    1. Encender

      Cuando se establece una conexión entre el cliente y el servidor, opense 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ón onopen.

      onopenSe refiere al apretón de manos inicial entre el cliente y el servidor.

    2. 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 onmessagefunción.

      Este evento actúa como el oído del cliente para el servidor, y el onmessageevento se activa cada vez que el servidor envía datos .

    3. Cerrar

      El evento de apagado marca el final de la comunicación entre el servidor y el cliente. Con onclosela ayuda del evento, la conexión se puede cerrar. Después de que la onclosecomunicació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.

    4. Mal

      Algunas banderas de error erróneas ocurren durante la comunicación. Fue onerrormarcado 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:

    1. enviar()

      Los mensajes solo se pueden enviar cuando la conexión está abierta.

    2. cerrar()

      Dile adiós y termina la conexión.

  • ciclo de vida de websocket

    1. Crear conexión

      Crear una conexión websocket es muy simple: llame al constructor websocket y pase la URL del servidor .

  • 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

  1. La diferencia entre websocket-client (websocket) y websockets
  2. Python3 + WebSocket realiza la comunicación WebSocket
  3. WebSocket-Summary de la implementación principal basada en Python
  4. Tutorial detallado de WebSocket
Publicado 880 artículos originales · elogiado 1331 · 980,000 visitas

Supongo que te gusta

Origin blog.csdn.net/The_Time_Runner/article/details/105646308
Recomendado
Clasificación