WebSockets Swift: एक घंटे में Real-Time ऐप बनाएं

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

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

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

WebSockets Swift डेवलपर्स के लिए क्यों ज़रूरी हैं?

\n\n

सोचिए: आप एक मैसेंजर खोलते हैं, और संदेश तुरंत आ जाते हैं। कोई बार-बार पेज रिफ्रेश नहीं, कोई "पुल टू रिफ्रेश" नहीं। यह Real-Time का जादू है, और Swift में इसे WebSockets से हासिल किया जाता है। अगर आप अब भी सिर्फ HTTP रिक्वेस्ट का उपयोग कर रहे हैं, तो आप कई मौकों से चूक रहे हैं: ऑनलाइन चैट, शेयर बाजार के भाव, लाइव नोटिफिकेशन, मल्टीप्लेयर गेम्स।

\n\n

इस लेख में हम सीखेंगे कि अपने Swift ऐप में WebSockets कैसे जोड़ें। कोई बेकार की बात नहीं—सिर्फ कोड जिसे कॉपी करके चलाया जा सकता है। अंत तक आप एक घंटे से भी कम समय में अपना पहला Real-Time चैट ऐप बना पाएंगे। चलिए शुरू करते हैं!

\n\n

WebSockets क्या हैं और ये REST API से बेहतर क्यों हैं?

\n\n

WebSockets एक दो-तरफा संचार प्रोटोकॉल है जो क्लाइंट और सर्वर के बीच होता है। REST के विपरीत, जहां क्लाइंट बार-बार सर्वर से सवाल पूछता है, WebSocket एक स्थायी कनेक्शन स्थापित करता है। सर्वर खुद डेटा भेज सकता है जब वह उपलब्ध हो। यह उसी तरह है जैसे किसी दोस्त को बार-बार फोन करने के बजाय दरवाजा खोलकर अंदर बुलाना।

\n\n

Swift डेवलपर के लिए मुख्य लाभ है—डेटा और संसाधनों की बचत। हर मिनट दर्जनों HTTP रिक्वेस्ट के बजाय सिर्फ एक कनेक्शन। ट्रेडिंग ऐप, ऑनलाइन गेम्स, सिस्टम मॉनिटरिंग के लिए यह आदर्श है।

\n\n

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

\n
    \n
  • ऑनलाइन चैट—संदेश तुरंत पहुंचने चाहिए।
  • \n
  • शेयर बाजार के भाव—हर सेकंड कीमत बदलती है।
  • \n
  • मल्टीप्लेयर गेम्स—खिलाड़ियों की गतिविधियों को सिंक करना।
  • \n
  • Real-Time नोटिफिकेशन—नया लाइक, ऑर्डर, संदेश।
  • \n
  • IoT ऐप—सेंसर से लगातार डेटा आना।
  • \n
\n\n

लेकिन हर जगह WebSockets का उपयोग न करें। अगर आपको सिर्फ प्रोडक्ट की लिस्ट लोड करनी है, तो सामान्य HTTP GET ही बेहतर है। WebSocket तब उपयोगी है जब डेटा हर 10 सेकंड से अधिक बार अपडेट होता है।

\n\n

Swift में WebSocket सेटअप: शुरू से पहले कनेक्शन तक

\n\n

Swift में WebSockets के लिए बिल्ट-इन सपोर्ट है—URLSessionWebSocketTask क्लास। किसी थर्ड-पार्टी लाइब्रेरी की ज़रूरत नहीं। आइए एक सरल क्लाइंट बनाएं।

\n\n

चरण 1. WebSocket कनेक्शन बनाएं

\n\n
import Foundation\n\nclass WebSocketManager: NSObject {\n    private var webSocketTask: URLSessionWebSocketTask?\n    private let session: URLSession\n    \n    override init() {\n        self.session = URLSession(configuration: .default, delegate: nil, delegateQueue: OperationQueue())\n        super.init()\n    }\n    \n    func connect(to url: URL) {\n        webSocketTask = session.webSocketTask(with: url)\n        webSocketTask?.resume()\n        print("WebSocket कनेक्शन स्थापित हो गया")\n        receiveMessage()\n    }\n    \n    func disconnect() {\n        webSocketTask?.cancel(with: .normalClosure, reason: nil)\n        print("कनेक्शन बंद हो गया")\n    }\n}\n
\n\n

यह एक बेसिक रैपर है। resume() मेथड कनेक्शन शुरू करता है—इसके बिना कुछ नहीं होगा। इसे मंत्र की तरह याद रखें: हमेशा resume() कॉल करें।

\n\n

चरण 2. संदेश भेजें और प्राप्त करें

\n\n
extension WebSocketManager {\n    func sendMessage(_ text: String) {\n        let message = URLSessionWebSocketTask.Message.string(text)\n        webSocketTask?.send(message) { error in\n            if let error = error {\n                print("भेजने में त्रुटि: \\(error.localizedDescription)")\n            }\n        }\n    }\n    \n    private func receiveMessage() {\n        webSocketTask?.receive { [weak self] result in\n            switch result {\n            case .success(let message):\n                switch message {\n                case .string(let text):\n                    print("संदेश प्राप्त हुआ: \\(text)")\n                

ब्लॉग

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