Red de conocimiento informático - Problemas con los teléfonos móviles - Implementación sencilla de WebSocket

Implementación sencilla de WebSocket

El protocolo WebSocket es un nuevo protocolo de red basado en TCP. La comunicación del navegador suele basarse en el protocolo HTTP, ¿por qué se necesita otro protocolo? Porque http solo puede ser iniciado por el cliente, no por el servidor.

El navegador y el servidor WebSocket solo necesitan completar un protocolo de enlace y se puede crear una conexión persistente directamente entre los dos para la transmisión de datos bidireccional.

Especificación de WebSocket

El protocolo WebSocket es esencialmente un protocolo basado en TCP. Para establecer una conexión WebSocket, el navegador del cliente primero debe iniciar una solicitud HTTP al servidor. Esta solicitud es diferente de la solicitud HTTP habitual y contiene información de encabezado adicional. La información adicional se muestra en la figura.

Proceso de conexión (Tome js (cliente) y java (servidor) como ejemplos)

js: ws.send (String msg) ps: El parámetro de entrada puede ser una cadena o una cadena json java: El mensaje onMessage (String message) es la información enviada desde el cliente

java: sendUser (String msg) js: ws.onmessage

4. Desconectar onclose (CloseReason motivo)

CloseReason.CloseCode (código de estado de conexión cerrada de WebSocket, similar al 404 de http)

parte js:

parte java (implementación javax):

ps: la sesión se utiliza para identificar de forma única el objeto de conexión

Utilice la anotación @ServerEndpoint

Referencias

javax websocket: (documento API de implementación del lado del servidor) https ://tomcat .apache.org/tomcat-8.0-doc/websocketapi/javax/websocket/package-summary.html

js websocket: (documentación de la API del cliente) https://developer.mozilla.org /zh- CN/docs/Web/API/WebSocket

rfc6455 (especificación del protocolo websocket): https://datatracker.ietf.org/doc/rfc6455/ ** Introducción del producto**