[JAVA] Essayez WebSocket avec jooby

Essayez la communication WebSocket avec jooby.

Conditions préalables

--jooby QUICK START est terminé

① Préparation du HTML pour le client

Placez ws.html directement sous le répertoire public.

ws.html


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exemple WebSocket</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function(){
    var ws = new WebSocket("ws://localhost:8080/ws");
    ws.onmessage = function(message){
        $("#log").prepend(message.data + "<br>");
    }
    $("#message").keyup(function(e){
        ws.send($(this).val());
    });
})
</script>
</head>
<body><input type="text" id="message"><div id="log"></div></body>
</html>

(2) Ajout de traitement côté serveur

Il s'agit d'une configuration simple qui reçoit un message, le renvoie à l'expéditeur et le diffuse.

App.java


	{
		assets("/ws.html", "ws.html");
		ws("/ws", ws -> {
			ws.onMessage(msg -> {
				ws.send("send : " + msg.value());
				ws.broadcast("broadcast : " + msg.value());
			});
		});
	}

③ Accédez à ** http: //localhost:8080/ws.html ** à partir du navigateur sur plusieurs onglets et saisissez un message dans la zone de texte.

Dans chaque onglet, le message que j'ai envoyé et la diffusion sont affichés, il semble donc fonctionner correctement.

Onglet 1

image.png

Onglet 2

image.png

finalement

Je pense que c'est très facile et facile à comprendre car une simple communication ** WebSocket ** est possible avec juste cette quantité de description. Cependant, si vous êtes familier avec Java depuis longtemps, cela ne ressemble pas à du code Java.

Recommended Posts

Essayez WebSocket avec jooby
Essayons WebSocket avec Java et javascript!
Essayez DI avec Micronaut
Exécutez Mosquitto avec Docker et essayez la communication WebSocket avec MQTT
Essayez d'utiliser GloVe avec Deeplearning4j
Essayez la connexion DB avec Java
Essayez gRPC avec Java, Maven
Essayez de lire XML avec JDOM
Essayez d'exécuter cloudera manager avec docker
Essayez d'implémenter recaptcha avec Jetty intégré.
Essayez de manipuler les tableaux PostgreSQL avec JDBC
Essayez d'utiliser Redis avec Java (jar)
Créer un environnement de développement Jooby avec Eclipse
Essayez l'analyse syntaxique des phrases anglaises avec Stanford CoreNLP
Essayez la communication bidirectionnelle avec gRPC Java
Essayez d'exécuter MySql et Blazor avec docker-compose
Essayez d'utiliser Spring Boot avec VS Code
Essayez de vous serrer la main avec ARKit + Metal
Essayez d'implémenter une fonction de connexion avec Spring-Boot
Essayez de gérer les bibliothèques Java avec AWS CodeArtifact
Essayer avec la déclaration de ressources dans l'application Web
Essayez d'utiliser la télécommande Wii en Java