Java में WebSocket: रीयल-टाइम के लिए Java-WebSocket लाइब्रेरी

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

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

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

Java में WebSocket: Java-WebSocket लाइब्रेरी

\n\n

आधुनिक वेब डेवलपमेंट में रीयल-टाइम द्विदिश संचार की आवश्यकता तेजी से बढ़ रही है। चैट एप्लिकेशन, ऑनलाइन गेम, शेयर बाजार के कोटेशन, सूचनाएं - ये सब क्लाइंट और सर्वर के बीच तत्काल डेटा ट्रांसफर की मांग करते हैं। Java के लिए WebSocket प्रोटोकॉल के सबसे लोकप्रिय और विश्वसनीय कार्यान्वयनों में से एक Java-WebSocket लाइब्रेरी है (जिसे nv-websocket-client के नाम से भी जाना जाता है)।

\n\n

इस लेख में हम विस्तार से समझेंगे कि सर्वर और क्लाइंट एप्लिकेशन बनाने के लिए Java-WebSocket का उपयोग कैसे करें, कोड उदाहरण देंगे और सर्वोत्तम प्रथाओं पर चर्चा करेंगे।

\n\n

Java-WebSocket क्या है?

\n\n

Java-WebSocket एक हल्की, शक्तिशाली ओपन-सोर्स लाइब्रेरी है जो WebSocket प्रोटोकॉल (RFC 6455) को लागू करती है। यह Java डेवलपर्स को प्रोटोकॉल के निचले स्तर के विवरणों में जाए बिना आसानी से WebSocket सर्वर और WebSocket क्लाइंट बनाने की अनुमति देती है।

\n\n

लाइब्रेरी की मुख्य विशेषताएं:

\n
    \n
  • WebSocket के सर्वर और क्लाइंट पक्षों का पूर्ण समर्थन।
  • \n
  • SSL/TLS के माध्यम से WSS (WebSocket Secure) का समर्थन।
  • \n
  • कनेक्शन टूटने पर स्वचालित पुनः कनेक्शन।
  • \n
  • खंडित संदेशों का प्रसंस्करण।
  • \n
  • कस्टम एक्सटेंशन का समर्थन।
  • \n
  • इवेंट-आधारित सरल API (onOpen, onMessage, onClose, onError)।
  • \n
\n\n

इंस्टॉलेशन और कनेक्शन

\n\n

लाइब्रेरी का उपयोग करने के लिए अपने pom.xml (Maven) में निर्भरता जोड़ें:

\n\n
<dependency>\n    <groupId>org.java-websocket</groupId>\n    <artifactId>Java-WebSocket</artifactId>\n    <version>1.5.4</version>\n</dependency>
\n\n

यदि आप Gradle का उपयोग कर रहे हैं:

\n\n
implementation 'org.java-websocket:Java-WebSocket:1.5.4'
\n\n

WebSocket सर्वर बनाना

\n\n

एक सरल WebSocket सर्वर का उदाहरण देखें जो संदेश प्राप्त करता है और उन्हें सभी जुड़े क्लाइंट्स को वापस भेजता है (इको सर्वर):

\n\n
import org.java_websocket.WebSocket;\nimport org.java_websocket.handshake.ClientHandshake;\nimport org.java_websocket.server.WebSocketServer;\nimport java.net.InetSocketAddress;\nimport java.util.Set;\n\npublic class EchoServer extends WebSocketServer {\n\n    public EchoServer(int port) {\n        super(new InetSocketAddress(port));\n    }\n\n    @Override\n    public void onOpen(WebSocket conn, ClientHandshake handshake) {\n        System.out.println("नया कनेक्शन: " + conn.getRemoteSocketAddress());\n    }\n\n    @Override\n    public void onClose(WebSocket conn, int code, String reason, boolean remote) {\n        System.out.println("डिस्कनेक्ट: " + conn.getRemoteSocketAddress() + " (" + reason + ")");\n    }\n\n    @Override\n    public void onMessage(WebSocket conn, String message) {\n        System.out.println("संदेश प्राप्त हुआ: " + message);\n        // सभी क्लाइंट्स को संदेश वापस भेजें\n        Set<WebSocket> connections = getConnections();\n        for (WebSocket client : connections) {\n            client.send("इको: " + message);\n        }\n    }\n\n    @Override\n    public void onError(WebSocket conn, Exception ex) {\n        System.err.println("त्रुटि: " + ex.getMessage());\n        if (conn != null) {\n            conn.close();\n        }\n    }\n\n    @Override\n    public void onStart() {\n        System.out.println("सर्वर पोर्ट " + getPort() + " पर शुरू हुआ");\n    }\n\n    public static void main(String[] args) {\n        int port = 8887;\n        EchoServer server = new EchoServer(port);\n        server.start();\n    }\n}
\n\n

यह सर्वर पोर्ट 8887 पर चलता है और किसी भी संदेश को प्राप्त करने पर उसे "इको:" उपसर्ग के साथ सभी जुड़े क्लाइंट्स को वापस भेजता है।

\n\n

WebSocket क्लाइंट बनाना

\n\n

अब एक क्लाइंट लिखते हैं जो हमारे सर्वर से जुड़ता है

अनुशंसाएँ