Kotlin में WebSockets: शुरुआत से real-time एप्लिकेशन बनाना

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Kotlin में WebSockets: सिद्धांत से real-time जादू तक

\n\n

कल्पना करें कि आपने एक मैसेंजर खोला, एक संदेश भेजा - और वह तुरंत आपके वार्ताकार के पास पहुंच गया। बिना पेज रीलोड किए, बिना सर्वर से लगातार अनुरोध किए। यह जादू नहीं है, यह Kotlin में WebSockets है। यदि आप कभी अपना खुद का चैट, रियल-टाइम नोटिफिकेशन सिस्टम या मल्टीप्लेयर गेम बनाना चाहते हैं - तो आप सही जगह पर आए हैं।

\n\n

इस लेख में, हम समझेंगे कि WebSockets कैसे काम करते हैं, Ktor का उपयोग करके एक पूर्ण Kotlin पर real-time एप्लिकेशन लिखेंगे, और मैं आपको वह कोड दिखाऊंगा जिसे आप तुरंत चला सकते हैं। चलिए शुरू करते हैं!

\n\n

WebSockets क्या हैं और Kotlin में इनकी आवश्यकता क्यों है?

\n\n

WebSocket एक प्रोटोकॉल है जो एक TCP कनेक्शन पर क्लाइंट और सर्वर के बीच द्विदिश संचार स्थापित करता है। पारंपरिक HTTP के विपरीत, जहां क्लाइंट हमेशा अनुरोध शुरू करता है, WebSocket सर्वर को किसी भी समय क्लाइंट को डेटा भेजने की अनुमति देता है।

\n\n

WebSocket HTTP से बेहतर क्यों है?

\n
    \n
  • तत्कालता: डेटा मिलीसेकंड में वितरित होता है
  • \n
  • ट्रैफिक की बचत: HTTP जैसे अतिरिक्त हेडर नहीं होते
  • \n
  • द्विदिशता: सर्वर भेजने की शुरुआत कर सकता है
  • \n
  • स्थायी कनेक्शन: हर बार पुनः स्थापित करने की आवश्यकता नहीं
  • \n
\n\n

Kotlin अपने कोरूटीन और Ktor फ्रेमवर्क के साथ WebSockets के साथ काम करने के लिए आदर्श है। अतुल्यकालिकता, हल्कापन और अभिव्यंजक सिंटैक्स - यही Kotlin WebSocket विकास को इतना सुखद बनाता है।

\n\n

WebSockets का उपयोग कब करें?

\n

यहां कुछ परिदृश्य हैं जहां WebSockets के साथ Kotlin पर real-time एप्लिकेशन अपरिहार्य होंगे:

\n
    \n
  • चैट और मैसेंजर - रियल-टाइम में संदेशों का आदान-प्रदान
  • \n
  • सूचना प्रणाली - अलर्ट, पॉप-अप विंडो, स्थिति अपडेट
  • \n
  • ऑनलाइन गेम - खिलाड़ियों का सिंक्रोनाइज़ेशन
  • \n
  • शेयर बाजार कोटेशन - बिना रीलोड के कीमतों का अपडेट
  • \n
  • सहयोगात्मक संपादन - Google Docs जैसी कार्यक्षमता
  • \n
\n\n

प्रोजेक्ट सेटअप: Ktor + WebSockets

\n

Kotlin पर WebSocket सर्वर बनाने के लिए हम Ktor का उपयोग करेंगे - JetBrains का एक आधुनिक अतुल्यकालिक फ्रेमवर्क। आइए प्रोजेक्ट सेट करें।

\n\n

चरण 1: निर्भरताएं जोड़ें

\n

यदि आप Gradle का उपयोग कर रहे हैं (और मुझे यकीन है कि आप कर रहे हैं), तो build.gradle.kts में जोड़ें:

\n
dependencies {\n    implementation("io.ktor:ktor-server-core:2.3.7")\n    implementation("io.ktor:ktor-server-netty:2.3.7")\n    implementation("io.ktor:ktor-server-websockets:2.3.7")\n    implementation("ch.qos.logback:logback-classic:1.4.14")\n}
\n\n

चरण 2: WebSocket सर्वर बनाएं

\n

अब सर्वर ही लिखते हैं। यह कनेक्शन स्वीकार करेगा और सभी जुड़े क्लाइंट्स को संदेश प्रसारित करेगा - चैट की मूल लॉजिक।

\n
import io.ktor.server.engine.*\nimport io.ktor.server.netty.*\nimport io.ktor.server.websocket.*\nimport io.ktor.websocket.*\nimport kotlinx.coroutines.channels.Channel\nimport kotlinx.coroutines.launch\n\nfun main() {\n    val clients = mutableSetOf<WebSocketSession>()\n\n    embeddedServer(Netty, port = 8080) {\n        install(WebSockets) {\n            pingPeriod = 15_000 // 15 सेकंड\n            timeout = 15_000\n            maxFrameSize = Long.MAX_VALUE\n        }\n\n        routing {\n            webSocket("/chat") {\n                // क्लाइंट जोड़ें\n                clients.add(this)\n                println("नया कनेक्शन: $this")\n\n                try {\n                    for (frame in incoming) {\n                        if (frame is Frame.Text) {\n                            val message = frame.readText()\n                            println("प्राप्त: $message")\n\n                            // सभी क्लाइंट्स को भेजें                

ब्लॉग

पुस्तक अनुशंसाएँ