


Verwendung von WebSocket in Spring Boot zur Implementierung von Push- und Benachrichtigungsfunktionen
In der modernen Webanwendungsentwicklung ist WebSocket eine gängige Technologie für sofortige Kommunikation und Echtzeit-Datenübertragung. Das Spring Boot-Framework bietet Unterstützung für integriertes WebSocket und macht es für Entwickler sehr bequem, Push- und Benachrichtigungsfunktionen zu implementieren.
In diesem Artikel wird die Verwendung von WebSocket zum Implementieren von Push- und Benachrichtigungsfunktionen in Spring Boot vorgestellt und die Implementierung eines einfachen Echtzeit-Online-Chatrooms demonstriert.
- Spring Boot-Projekt erstellen
Zuerst müssen wir ein Spring Boot-Projekt erstellen. Mithilfe der Web- und WebSocket-Abhängigkeiten auf der Spring Initializr-Website können Sie schnell ein neues Projekt erstellen. Der Code lautet wie folgt:
<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>
- WebSocket konfigurieren
Als nächstes müssen wir WebSocket so konfigurieren, dass es in der Spring Boot-Anwendung ausgeführt werden kann.
Zuerst müssen wir die folgenden Attribute zur Konfigurationsdatei der Anwendung hinzufügen:
spring.websocket.enabled=true
Als nächstes fügen Sie der Spring Boot-Konfigurationsklasse eine @EnableWebSocket
-Annotation hinzu, um die WebSocket-Unterstützung zu aktivieren. Gleichzeitig müssen wir eine WebSocketConfigurer
-Schnittstelle implementieren und darin Handler und Nachrichtenabfangjäger registrieren, um WebSocket-Anfragen und -Nachrichten zu verarbeiten. @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
Im obigen Code haben wir einen Handler (d. h. WebSocketHandler) registriert, der aufgerufen wird, wenn der Client eine Verbindung zum Endpunkt „/chat“ herstellt. Verwenden Sie die MethodesetAllowedOrigins
, um zulässige Ursprünge für Cross-Origin-Anfragen anzugeben, und die Methode withSockJS
, um die SockJS-Unterstützung für die Kompatibilität mit Browsern zu aktivieren, die WebSocket nicht unterstützen. - Einen WebSocket-Handler schreiben
Jetzt müssen wir eine Handler-Klasse schreiben, die alle WebSocket-Anfragen und -Nachrichten verarbeitet.
🎜In Spring Boot muss diese Klasse nur die SchnittstelleWebSocketHandler
implementieren. Wir werden die Klasse SimpeTextWebSocketHandler
verwenden, die grundlegende Funktionen für die Verarbeitung von WebSocket-Nachrichten bereitstellt, und wir können darauf basierend unsere eigenen Handler erweitern. 🎜🎜Der Code lautet wie folgt: 🎜rrreee🎜Im obigen Code wird die Methode afterConnectionEstablished
aufgerufen, wenn eine neue WebSocket-Sitzung eingerichtet wird, und die Methode afterConnectionClosed
, wenn Die WebSocket-Sitzung wird geschlossen. Die Methode handleTextMessage
verarbeitet alle WebSocket-Nachrichten und sendet sie an alle aktuell verbundenen Clients. 🎜- 🎜WebSocket-Client erstellen🎜🎜🎜Jetzt müssen wir einen WebSocket-Client erstellen, um die implementierte Push- und Benachrichtigungsfunktionalität zu testen. Sie können die WebSocket-API von JavaScript verwenden, um einen WebSocket-Client zu erstellen. 🎜🎜Der Code lautet wie folgt: 🎜rrreee🎜Im obigen Code erstellen wir eine WebSocket-Instanz und versuchen, eine Verbindung zu
ws://localhost:8080/chat
herzustellen. Anschließend überwachen wir WebSocket-Ereignisse auf Öffnungs-, Schließ-, Fehler- und Nachrichtenereignisse. 🎜- 🎜Führen Sie das Projekt aus🎜🎜🎜Jetzt können wir die Spring Boot-Anwendung starten und die Push- und Benachrichtigungsfunktionalität testen. Wir können zwei oder mehr WebSocket-Clients verwenden, um sich als unterschiedliche Benutzer auszugeben, Nachrichten in einen Client einzugeben und sie in allen Sitzungen an andere Clients zu senden. 🎜🎜Verwenden Sie Maven, um den Befehl
spring-boot:run
auszuführen, um die Anwendung zu starten. 🎜🎜Öffnen Sie nun mehrere Browserfenster und erstellen Sie in jedem Fenster einen WebSocket-Client. Geben Sie Ihre Nachricht ein und klicken Sie auf die Schaltfläche „Senden“, um die Nachricht in allen Sitzungen, mit denen Sie chatten, an andere WebSocket-Clients zu senden. 🎜🎜🎜Zusammenfassung🎜🎜🎜In diesem Tutorial haben wir gelernt, wie man Spring Boot und WebSocket verwendet, um Push- und Benachrichtigungsfunktionen zu implementieren. Mit der WebSocket-Unterstützung können wir Echtzeit-, Kollaborations- und Multicast-Anwendungen erstellen, die das Benutzererlebnis verbessern und den Wert der Anwendung steigern. 🎜Das obige ist der detaillierte Inhalt vonVerwendung von WebSocket in Spring Boot zur Implementierung von Push- und Benachrichtigungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie ist Echtzeit-Videostreaming zu einer wichtigen Anwendung im Internetbereich geworden. Zu den Schlüsseltechnologien für Echtzeit-Videostreaming gehören WebSocket und Java. In diesem Artikel wird die Verwendung von WebSocket und Java zur Implementierung der Echtzeit-Video-Streaming-Wiedergabe vorgestellt und relevante Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist ein Protokoll für die Vollduplex-Kommunikation über eine einzelne TCP-Verbindung. Es wird im Web verwendet

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie ist Echtzeitkommunikation zu einem unverzichtbaren Bestandteil des täglichen Lebens geworden. Mit der WebSockets-Technologie kann eine effiziente Echtzeitkommunikation mit geringer Latenz erreicht werden, und PHP als eine der am weitesten verbreiteten Entwicklungssprachen im Internetbereich bietet auch entsprechende WebSocket-Unterstützung. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und WebSocket eine Echtzeitkommunikation erreichen, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist ein Single

Die Kombination von golangWebSocket und JSON: Datenübertragung und Parsing realisieren In der modernen Webentwicklung wird die Datenübertragung in Echtzeit immer wichtiger. WebSocket ist ein Protokoll, das zur bidirektionalen Kommunikation verwendet wird. Im Gegensatz zum herkömmlichen HTTP-Anfrage-Antwort-Modell ermöglicht WebSocket dem Server, Daten aktiv an den Client zu übertragen. JSON (JavaScriptObjectNotation) ist ein leichtes Format für den Datenaustausch, das prägnant und leicht lesbar ist.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Wie implementiert JavaWebsocket die Online-Whiteboard-Funktion? Im modernen Internetzeitalter legen die Menschen immer mehr Wert auf das Erlebnis der Zusammenarbeit und Interaktion in Echtzeit. Online-Whiteboard ist eine auf Websocket implementierte Funktion, die es mehreren Benutzern ermöglicht, in Echtzeit zusammenzuarbeiten, um dasselbe Zeichenbrett zu bearbeiten und Vorgänge wie Zeichnen und Anmerkungen durchzuführen. Es bietet eine praktische Lösung für Online-Schulungen, Remote-Meetings und Teamzusammenarbeit andere Szenarien. 1. Technischer Hintergrund WebSocket ist ein neues Protokoll, das von HTML5 implementiert wird

PHP und WebSocket: Best-Practice-Methoden für die Echtzeit-Datenübertragung Einführung: Bei der Entwicklung von Webanwendungen ist die Echtzeit-Datenübertragung eine sehr wichtige technische Anforderung. Das herkömmliche HTTP-Protokoll ist ein Anforderungs-Antwort-Modellprotokoll und kann keine Datenübertragung in Echtzeit effektiv erreichen. Um den Anforderungen der Echtzeit-Datenübertragung gerecht zu werden, wurde das WebSocket-Protokoll entwickelt. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das eine Möglichkeit zur Vollduplex-Kommunikation über eine einzelne TCP-Verbindung bietet. Im Vergleich zu H

In diesem Artikel vergleichen wir Server Sent Events (SSE) und WebSockets, beides zuverlässige Methoden zur Übermittlung von Daten. Wir werden sie in acht Aspekten analysieren, darunter Kommunikationsrichtung, zugrunde liegendes Protokoll, Sicherheit, Benutzerfreundlichkeit, Leistung, Nachrichtenstruktur, Benutzerfreundlichkeit und Testtools. Ein Vergleich dieser Aspekte lässt sich wie folgt zusammenfassen: Kategorie Server Sent Event (SSE) WebSocket-Kommunikationsrichtung Einseitig bidirektional Zugrundeliegendes Protokoll HTTP WebSocket-Protokoll Sicherheit Gleich wie HTTP Vorhandene Sicherheitslücken Benutzerfreundlichkeit Einstellungen Einfache Einstellungen Komplexe Leistung Schnelle Nachrichtenversandgeschwindigkeit Betroffen von der Nachrichtenverarbeitung und dem Verbindungsmanagement. Nachrichtenstruktur Nur Text oder Binär. Benutzerfreundlichkeit. Weit verbreitet. Hilfreich für die WebSocket-Integration
