


Utilisation de WebSocket dans Spring Boot pour implémenter les fonctions push et de notification
Dans le développement d'applications Web modernes, WebSocket est une technologie courante pour la communication instantanée et la transmission de données en temps réel. Le framework Spring Boot prend en charge WebSocket intégré, ce qui permet aux développeurs d'implémenter très facilement des fonctions push et de notification.
Cet article expliquera comment utiliser WebSocket pour implémenter les fonctions push et de notification dans Spring Boot, et démontrera la mise en œuvre d'une simple salle de discussion en ligne en temps réel.
- Créer un projet Spring Boot
Tout d'abord, nous devons créer un projet Spring Boot. Vous pouvez créer rapidement un nouveau projet à l'aide des dépendances Web et WebSocket sur le site Web Spring Initializr. Le code est le suivant :
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> </dependencies>
- Configuring WebSocket
Ensuite, nous devons configurer WebSocket pour qu'il puisse s'exécuter dans une application Spring Boot .
Tout d'abord, nous devons ajouter les attributs suivants au fichier de configuration de l'application :
spring.websocket.enabled=true
Ensuite, ajoutez un @EnableWebSocket</ dans le code de la classe de configuration Spring Boot > annotation pour activer la prise en charge de WebSocket. Dans le même temps, nous devons implémenter une interface <code>WebSocketConfigurer
et y enregistrer des gestionnaires et des intercepteurs de messages pour gérer les requêtes et les messages WebSocket. @EnableWebSocket
注解,启用WebSocket支持。同时,我们需要实现一个WebSocketConfigurer
接口,在其中注册处理程序和消息拦截器,以便处理WebSocket请求和消息。
代码如下:
@Configuration @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(new WebSocketHandler(), "/chat").setAllowedOrigins("*").withSockJS(); } }
在上面的代码中,我们注册了一个处理程序(即WebSocketHandler),该处理程序在客户端连接到“/ chat”端点时被调用。使用setAllowedOrigins
方法来指定允许的来源,以便进行跨域请求,使用withSockJS
方法以启用SockJS支持,以便与不支持WebSocket的浏览器兼容。
- 编写WebSocket处理程序
现在我们需要编写处理程序类,这个类会处理所有的WebSocket请求和消息。
在Spring Boot中,这个类只需要实现WebSocketHandler
接口即可。我们将使用SimpeTextWebSocketHandler
类,该类提供了处理WebSocket消息的基本功能,并且我们可以在其基础上扩展自己的处理程序。
代码如下:
public class WebSocketHandler extends TextWebSocketHandler { private final List<WebSocketSession> sessions = new CopyOnWriteArrayList<>(); @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { sessions.add(session); } @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception { sessions.remove(session); } @Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { for (WebSocketSession s : sessions) { if (s.isOpen() && !s.equals(session)) { s.sendMessage(message); } } } }
在上面的代码中,afterConnectionEstablished
方法在新的WebSocket会话建立时被调用,afterConnectionClosed
方法在WebSocket会话关闭时被调用。handleTextMessage
方法处理所有的WebSocket消息,并发送给所有当前连接的客户端。
- 创建WebSocket客户端
现在,我们需要创建一个WebSocket客户端来测试实现的推送和通知功能。可以使用JavaScript的WebSocket API来创建一个WebSocket客户端。
代码如下:
const socket = new WebSocket('ws://localhost:8080/chat'); socket.onopen = function() { console.log('连接已建立'); }; socket.onmessage = function(event) { console.log('收到消息:', event.data); }; socket.onerror = function(error) { console.log('发生错误:', error); }; socket.onclose = function() { console.log('连接已关闭'); };
在上面的代码中,我们创建了一个WebSocket实例并尝试连接到ws:// localhost:8080 / chat
。然后,我们监听WebSocket事件以获取打开,关闭,错误和消息事件。
- 运行项目
现在,我们可以启动Spring Boot应用并测试推送和通知功能。我们可以使用两个或多个WebSocket客户端来模拟不同的用户,并在一个客户端输入消息并将其广播到所有会话中的其他客户端。
使用Maven运行spring-boot:run
rrreee
Dans le code ci-dessus, nous enregistrons un gestionnaire (c'est-à-dire WebSocketHandler) qui se connecte au point de terminaison "/chat" côté client est appelé quand. Utilisez la méthodesetAllowedOrigins
pour spécifier les origines autorisées pour les requêtes d'origine croisée, et la méthode withSockJS
pour activer la prise en charge de SockJS pour la compatibilité avec les navigateurs qui ne prennent pas en charge WebSocket. - Write WebSocket handler
Maintenant, nous devons écrire une classe de gestionnaire, qui gérera toutes les requêtes et tous les messages WebSocket.
#🎜🎜#Dans Spring Boot, cette classe n'a besoin que d'implémenter l'interfaceWebSocketHandler
. Nous utiliserons la classe SimpeTextWebSocketHandler
, qui fournit des fonctionnalités de base pour gérer les messages WebSocket, et nous pourrons étendre nos propres gestionnaires en fonction de celle-ci. #🎜🎜##🎜🎜#Le code est le suivant : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, la méthode afterConnectionEstablished
est appelée lorsqu'une nouvelle session WebSocket est établie, afterConnectionClosed est appelée lorsque la session WebSocket est fermée. La méthode <code>handleTextMessage
gère tous les messages WebSocket et les envoie à tous les clients actuellement connectés. #🎜🎜#- #🎜🎜#Créer un client WebSocket #🎜🎜##🎜🎜##🎜🎜#Maintenant, nous devons créer un client WebSocket pour tester la fonctionnalité push et de notification implémentée. Vous pouvez utiliser l'API WebSocket de JavaScript pour créer un client WebSocket. #🎜🎜##🎜🎜#Le code est le suivant : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous créons une instance WebSocket et essayons de nous connecter à
ws://localhost:8080/chat
. Nous écoutons ensuite les événements WebSocket pour les événements d'ouverture, de fermeture, d'erreur et de message. #🎜🎜#- #🎜🎜#Exécuter le projet #🎜🎜##🎜🎜##🎜🎜#Maintenant, nous pouvons démarrer l'application Spring Boot et tester les fonctionnalités push et de notification. Nous pouvons utiliser deux clients WebSocket ou plus pour usurper l'identité de différents utilisateurs, saisir des messages dans un client et les diffuser à d'autres clients dans toutes les sessions. #🎜🎜##🎜🎜#Utilisez Maven pour exécuter la commande
spring-boot:run
pour démarrer l'application. #🎜🎜##🎜🎜#Maintenant, ouvrez plusieurs fenêtres de navigateur et créez un client WebSocket dans chaque fenêtre. Entrez votre message et appuyez sur le bouton Envoyer pour transmettre le message aux autres clients WebSocket dans toutes les sessions avec lesquelles vous discutez. #🎜🎜##🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜##🎜🎜#Dans ce tutoriel, nous avons appris à utiliser Spring Boot et WebSocket pour implémenter les fonctions push et de notification. Avec la prise en charge de WebSocket, nous pouvons créer des applications en temps réel, collaboratives et multidiffusion qui améliorent l'expérience utilisateur et augmentent la valeur de l'application. #🎜🎜#Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

Avec le développement continu de la technologie Internet, le streaming vidéo en temps réel est devenu une application importante dans le domaine Internet. Pour réaliser un streaming vidéo en temps réel, les technologies clés incluent WebSocket et Java. Cet article explique comment utiliser WebSocket et Java pour implémenter la lecture en streaming vidéo en temps réel et fournit des exemples de code pertinents. 1. Qu'est-ce que WebSocket ? WebSocket est un protocole de communication full-duplex sur une seule connexion TCP. Il est utilisé sur le Web.

Avec le développement continu de la technologie Internet, la communication en temps réel est devenue un élément indispensable de la vie quotidienne. Une communication en temps réel efficace et à faible latence peut être obtenue grâce à la technologie WebSockets, et PHP, en tant que l'un des langages de développement les plus utilisés dans le domaine Internet, fournit également la prise en charge WebSocket correspondante. Cet article explique comment utiliser PHP et WebSocket pour établir une communication en temps réel et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ?

La combinaison de golangWebSocket et JSON : réaliser la transmission et l'analyse des données Dans le développement Web moderne, la transmission de données en temps réel devient de plus en plus importante. WebSocket est un protocole utilisé pour établir une communication bidirectionnelle. Contrairement au modèle de requête-réponse HTTP traditionnel, WebSocket permet au serveur de transmettre activement des données au client. JSON (JavaScriptObjectNotation) est un format léger d'échange de données, concis et facile à lire.

PHP et WebSocket : meilleures pratiques pour le transfert de données en temps réel Introduction : Dans le développement d'applications Web, le transfert de données en temps réel est une exigence technique très importante. Le protocole HTTP traditionnel est un protocole de modèle requête-réponse et ne peut pas assurer efficacement la transmission de données en temps réel. Afin de répondre aux besoins de transmission de données en temps réel, le protocole WebSocket a vu le jour. WebSocket est un protocole de communication full-duplex qui permet de communiquer en full-duplex via une seule connexion TCP. Comparé à H

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment JavaWebsocket implémente-t-il la fonction de tableau blanc en ligne ? À l’ère d’Internet moderne, les gens accordent de plus en plus d’attention à l’expérience de collaboration et d’interaction en temps réel. Le tableau blanc en ligne est une fonction implémentée sur la base de Websocket. Il permet à plusieurs utilisateurs de collaborer en temps réel pour modifier la même planche à dessin et effectuer des opérations telles que le dessin et l'annotation. Il constitue une solution pratique pour l'enseignement en ligne, les réunions à distance, la collaboration en équipe et. d'autres scénarios. 1. Contexte technique WebSocket est un nouveau protocole fourni par HTML5 qu'il implémente.

Dans cet article, nous comparerons les événements envoyés par le serveur (SSE) et les WebSockets, qui sont tous deux des méthodes fiables pour fournir des données. Nous les analyserons sous huit aspects, notamment la direction de la communication, le protocole sous-jacent, la sécurité, la facilité d'utilisation, les performances, la structure des messages, la facilité d'utilisation et les outils de test. Une comparaison de ces aspects est résumée comme suit : Catégorie Événement envoyé par le serveur (SSE) Direction de communication WebSocket Unidirectionnel Bidirectionnel Protocole sous-jacent HTTP Sécurité du protocole WebSocket Identique à HTTP Failles de sécurité existantes Facilité d'utilisation Paramètres Paramètres simples Performances complexes Vitesse d'envoi rapide des messages Affecté par le traitement des messages et la gestion des connexions Structure du message Texte brut ou binaire Facilité d'utilisation Largement disponible Utile pour l'intégration de WebSocket
