Spring के साथ WebSockets एकीकृत करना
सब्सक्रिप्शन के लिए स्थायी क्लाइंट-सर्वर कनेक्शन सक्षम करने हेतु अपने Spring Boot अनुप्रयोग में WebSocket समर्थन कॉन्फ़िगर करें।
Spring के साथ WebSockets एकीकृत करना, CoddyKit पर Spring Boot के साथ GraphQL APIs का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Spring Boot के साथ GraphQL APIs सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Spring Boot के साथ GraphQL APIs पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
रीयल-टाइम डेटा के लिए WebSockets
स्वागत है! इस पाठ में हम Spring Boot के साथ WebSockets को एकीकृत करेंगे। GraphQL सब्सक्रिप्शन जैसी रीयल-टाइम सुविधाएँ सक्षम करने के लिए यह बहुत महत्वपूर्ण है।
WebSockets एकल, लंबे समय तक चलने वाले TCP कनेक्शन पर क्लाइंट और सर्वर के बीच स्थायी, दो-तरफ़ा संचार चैनल उपलब्ध कराते हैं।
सब्सक्रिप्शन के लिए WebSockets क्यों?
पारंपरिक HTTP अनुरोधों के विपरीत, जो कम समय तक चलते हैं, GraphQL सब्सक्रिप्शन को क्लाइंट को डेटा अपडेट होते ही भेजने के लिए लगातार कनेक्शन की आवश्यकता होती है।
WebSockets इसके लिए बिल्कुल उपयुक्त हैं, क्योंकि वे एक खुला कनेक्शन बनाए रखते हैं और सर्वर को नए अनुरोध के बिना किसी भी समय क्लाइंट को डेटा भेजने देते हैं।
निर्भरता जोड़ना
सबसे पहले, हमें अपने प्रोजेक्ट में Spring Boot WebSocket स्टार्टर निर्भरता जोड़नी होगी। यह WebSocket समर्थन सक्षम करने के लिए आवश्यक सभी लाइब्रेरी शामिल करती है।
Gradle के लिए इसे अपने build.gradle में जोड़ें:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-websocket'
}WebSocket संदेश ब्रोकर सक्षम करना
Spring में, हम विशिष्ट कार्यक्षमताएँ सक्षम करने के लिए एनोटेशन का उपयोग करते हैं। संदेश ब्रोकर वाले WebSockets के लिए हम @EnableWebSocketMessageBroker का उपयोग करते हैं।
यह एनोटेशन WebSocket पर STOMP संदेश ब्रोकर सक्षम करता है, जो संदेशों को संभालने का एक शक्तिशाली तरीका है।
WebSocket एंडपॉइंट कॉन्फ़िगर करना
हमें एक ऐसी कॉन्फ़िगरेशन क्लास चाहिए जो WebSocketMessageBrokerConfigurer का विस्तार करे। यह क्लास हमें अपने WebSocket सेटअप को अनुकूलित करने देती है।
registerStompEndpoints() विधि का उपयोग उस URL एंडपॉइंट को परिभाषित करने के लिए किया जाता है, जिससे क्लाइंट WebSocket संचार के लिए कनेक्ट होंगे।
SockJS फ़ॉलबैक जोड़ना
एंडपॉइंट पंजीकृत करते समय हम अक्सर .withSockJS() जोड़ते हैं। SockJS एक JavaScript लाइब्रेरी है, जो WebSocket जैसी API उपलब्ध कराती है।
यह उन ब्राउज़र के लिए फ़ॉलबैक विकल्प (जैसे HTTP स्ट्रीमिंग या लंबी पोलिंग) उपलब्ध कराती है जो WebSockets का पूर्ण समर्थन नहीं करते, या ऐसे वातावरण में जहाँ प्रॉक्सी इनके साथ हस्तक्षेप करते हैं।
संदेश ब्रोकर कॉन्फ़िगर करना
configureMessageBroker() विधि संदेश ब्रोकर को स्वयं सेट अप करती है। यह निर्धारित करती है कि क्लाइंट और एप्लिकेशन के बीच संदेश कैसे भेजे जाएँगे।
enableSimpleBroker("/topic"):/topicसे शुरू होने वाले गंतव्यों के लिए मेमोरी में संदेश ब्रोकर सक्षम करता है। क्लाइंट इन विषयों को सब्सक्राइब करते हैं।setApplicationDestinationPrefixes("/app"): हमारे एप्लिकेशन में@MessageMappingसे चिह्नित विधियों के लिए निर्धारित संदेशों के प्रीफ़िक्स परिभाषित करता है।
पूर्ण WebSocket कॉन्फ़िगरेशन
यहाँ WebSocket कॉन्फ़िगरेशन दिखाने वाला एक न्यूनतम Spring Boot एप्लिकेशन है। Spring द्वारा WebSocket सर्वर शुरू करते हुए देखने के लिए इसे चलाकर देखें!
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
System.out.println("WebSocket server ready on port 8080!");
System.out.println("Connect at ws://localhost:8080/ws-connect");
}
@Configuration
@EnableWebSocketMessageBroker
static class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws-connect")
.withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
}
}GraphQL सब्सक्रिप्शन से जोड़ना
इस WebSocket ढाँचे के साथ, हमारे GraphQL सब्सक्रिप्शन रिज़ॉल्वर (पिछले पाठ से) अब इवेंट प्रकाशित कर सकते हैं।
जब कोई रिज़ॉल्वर इवेंट प्रकाशित करता है, तो Spring का संदेश ब्रोकर संबंधित /topic को सब्सक्राइब किए हुए सभी क्लाइंट को उनके खुले WebSocket कनेक्शन के माध्यम से तुरंत सूचित करता है।
त्वरित जाँच: WebSocket कॉन्फ़िगरेशन
हमारे WebSocket कॉन्फ़िगरेशन की निम्न पंक्ति पर विचार करें:
config.enableSimpleBroker("/topic");इस संदर्भ में /topic प्रीफ़िक्स का मुख्य उद्देश्य क्या है?
पुनरावलोकन: Spring में WebSockets
बहुत अच्छा! आपने मजबूत रीयल-टाइम संचार परत उपलब्ध कराने के लिए WebSockets को Spring Boot के साथ एकीकृत करना सीख लिया है।
- हमने WebSocket स्टार्टर निर्भरता जोड़ी।
- हमने
@EnableWebSocketMessageBrokerऔरWebSocketMessageBrokerConfigurerका उपयोग किया। - हमने STOMP एंडपॉइंट कॉन्फ़िगर किए (जैसे, SockJS के साथ
/ws-connect)। - हमने सब्सक्रिप्शन के लिए
/topicऔर ऐप्लिकेशन-विशिष्ट संदेशों के लिए/appजैसे प्रीफ़िक्स के साथ संदेश ब्रोकर सेट अप किया।
यह सेटअप रीयल-टाइम GraphQL सब्सक्रिप्शन उपलब्ध कराने की आधारशिला है!
एआई शिक्षक के साथ Spring Boot के साथ GraphQL APIs सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Spring के साथ WebSockets एकीकृत करना” पाठ निःशुल्क है?
हाँ—“Spring के साथ WebSockets एकीकृत करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Spring Boot के साथ GraphQL APIs पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Spring Boot के साथ GraphQL APIs पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Spring के साथ WebSockets एकीकृत करना” में मैं क्या सीखूँगा?
सब्सक्रिप्शन के लिए स्थायी क्लाइंट-सर्वर कनेक्शन सक्षम करने हेतु अपने Spring Boot अनुप्रयोग में WebSocket समर्थन कॉन्फ़िगर करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Boot के साथ GraphQL APIs का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Spring Boot के साथ GraphQL APIs शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Spring Boot के साथ GraphQL APIs शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Spring के साथ WebSockets एकीकृत करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Spring Boot के साथ GraphQL APIs पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Spring Boot के साथ GraphQL APIs पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- GraphQL सब्सक्रिप्शन को समझना
- वास्तविक-समय अपडेट लागू करना
- Spring के साथ WebSockets एकीकृत करना
- सब्सक्रिप्शन को फ़िल्टर करना और विस्तारित करना