web-dev-qa-db-fra.com

Existe-t-il un Java équivalent de SignalR?

J'ai une question vraiment simple mais je ne trouve rien d'intéressant sur Google.

Existe-t-il un Java équivalent de SignalR (.NET)?

SignalR est un framework .NET qui implémente les Websockets avec un repli pour les anciens navigateurs.

Vraiment merci à vous.

24
Thomas Pons

Il semble que Atmosphere peut être ce que vous recherchez.

De la description de github:

L'Atmosphere Framework contient des composants côté client et serveur pour la création d'une application Web asynchrone.

Je ne l'ai pas encore essayé, mais this dit qu'il prend en charge les principaux serveurs JEE (JBoss, Tomcat, Glassfish, Jetty) et tous les principaux navigateurs et transports (WebSockets, SSE, Long-Polling, etc.) .

MISE À JOUR 6/4/2014: Il existe une autre alternative notable pour "l'équivalent Java de SignalR". À partir de la version 4.0, Spring Framework est fourni avec prise en charge de WebSockets et prise en charge côté serveur pour SockJS. Cela signifie qu'il prend également en charge WebSocket-Fallback, utilisé avec une bibliothèque côté navigateur sockjs-client . Comme le dit la documentation de Spring:

WebSocket n'est pas encore pris en charge dans tous les navigateurs et peut être empêché par des proxys réseau restrictifs. C'est pourquoi Spring fournit des options de secours qui émulent l'API WebSocket aussi près que possible sur la base du protocole SockJS [...] Côté navigateur, les applications peuvent utiliser le client sockjs qui émule l'API WebSocket W3C et communique avec le serveur pour sélectionnez la meilleure option de transport en fonction du navigateur dans lequel il s'exécute.

Je ne sais toujours pas s'il existe un support pour quelque chose comme SignalR Hubs (qui implique la génération de code JavaScript) dans le Java Framework à partir d'aujourd'hui, mais d'un autre côté, je pense que vous pouvez facilement imitez une connexion persistante de type SignalR avec une prise en charge complète de secours pour les navigateurs plus anciens.

De plus, à cause de JSR 356 aka Java pour WebSocket, je pense que ce n'est qu'une question de temps lorsque le pour ainsi dire "mainstream" Java Les frameworks Web seront fournis avec une prise en charge prête à l'emploi pour Websockets + Fallback, en particulier compte tenu du fait que tous les continers de servlet principaux (comme Tomcat et Jetty) et les serveurs JEE 7 (Glassfish, Wildfly) ont support pour JSR 356 déjà.

25
Mateusz Szulc

Il y a un module de framework Play SignalJ

Mise à jour : SignalJ semble mort, regardez Scala Web Sockets

2
Jonathan Barbero