TypeScript पर WebSocket लाइब्रेरी: ws, Socket.IO और SockJS

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

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

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

TypeScript WebSocket लाइब्रेरी: शैक्षिक वेबसाइट के लिए पूर्ण अवलोकन

\n\n

WebSocket एक प्रोटोकॉल है जो क्लाइंट और सर्वर के बीच रीयल-टाइम में द्विदिश संचार सुनिश्चित करता है। TypeScript इकोसिस्टम में कई लोकप्रिय लाइब्रेरीज़ हैं जो WebSocket के साथ काम को सरल बनाती हैं। इस लेख में हम तीन मुख्य टूल्स की समीक्षा करेंगे: ws, Socket.IO और SockJS, और दिखाएंगे कि उन्हें TypeScript पर शैक्षिक प्रोजेक्ट में कैसे एकीकृत किया जाए।

\n\n

शिक्षा के लिए WebSocket क्यों महत्वपूर्ण है?

\n

शैक्षिक वेबसाइटों पर अक्सर रीयल-टाइम सुविधाओं की आवश्यकता होती है: चैट, सह-संपादन कोड, सूचनाएं, लाइव प्रसारण। WebSocket सर्वर से लगातार पूछताछ से बचाता है और तत्काल डेटा ट्रांसफर सुनिश्चित करता है। TypeScript टाइपिंग जोड़ता है, जो बड़े प्रोजेक्ट्स के समर्थन के लिए महत्वपूर्ण है।

\n\n

1. लाइब्रेरी ws — Node.js के लिए न्यूनतम WebSocket

\n

ws Node.js के सर्वर-साइड के लिए सबसे सरल और तेज़ WebSocket लाइब्रेरी है। यह उन मामलों के लिए उपयुक्त है जहां बिना अतिरिक्त सुविधाओं के शुद्ध WebSocket की आवश्यकता होती है।

\n\n

स्थापना

\n
npm install ws\nnpm install @types/ws --save-dev
\n\n

TypeScript पर सर्वर का उदाहरण

\n
import { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', (ws) => {\n  console.log('नया कनेक्शन');\n\n  ws.send('शैक्षिक वेबसाइट पर आपका स्वागत है!');\n\n  ws.on('message', (data) => {\n    console.log(`प्राप्त: ${data}`);\n    ws.send(`इको: ${data}`);\n  });\n\n  ws.on('close', () => {\n    console.log('क्लाइंट डिस्कनेक्ट हो गया');\n  });\n});\n\nconsole.log('WebSocket सर्वर ws://localhost:8080 पर चालू है');
\n\n

TypeScript पर क्लाइंट का उदाहरण

\n
const ws = new WebSocket('ws://localhost:8080');\n\nws.onopen = () => {\n  console.log('सर्वर से कनेक्ट हुआ');\n  ws.send('नमस्ते, सर्वर!');\n};\n\nws.onmessage = (event) => {\n  console.log('सर्वर से संदेश:', event.data);\n};\n\nws.onclose = () => {\n  console.log('कनेक्शन बंद हुआ');\n};
\n\n

लाभ: न्यूनतम आकार, उच्च प्रदर्शन, पूर्ण नियंत्रण।
\nनुकसान: कोई स्वचालित पुन: कनेक्शन नहीं, कमरों का समर्थन नहीं।

\n\n

2. Socket.IO — real-time अनुप्रयोगों के लिए शक्तिशाली लाइब्रेरी

\n

Socket.IO real-time अनुप्रयोगों के लिए डी-फैक्टो मानक है। यह स्वचालित पुन: कनेक्शन, कमरे, नाम स्थान और फॉलबैक ट्रांसपोर्ट (जैसे long polling) का समर्थन प्रदान करता है।

\n\n

स्थापना

\n
npm install socket.io socket.io-client\nnpm install @types/socket.io --save-dev
\n\n

TypeScript पर सर्वर का उदाहरण

\n
import { Server } from 'socket.io';\nimport http from 'http';\n\nconst server = http.createServer();\nconst io = new Server(server, {\n  cors: {\n    origin: '*',\n    methods: ['GET', 'POST']\n  }\n});\n\nio.on('connection', (socket) => {\n  console.log('उपयोगकर्ता कनेक्ट हुआ:', socket.id);\n\n  socket.on('join_room', (roomName: string) => {\n    socket.join(roomName);\n    socket.to(roomName).emit('user_joined', socket.id);\n  });\n\n  socket.on('send_message', (data: { room: string; message: string }) => {\n    io.to(data.room).emit('new_message', {\n      user: socket.id,\n      message: data.message\n    });\n  });\n\n  socket.on('disconnect', () => {\n    console.log('उपयोगकर्ता डिस्कनेक्ट हुआ:', socket.id);\n  });\n});\n\nserver.listen(3000, () => {\n  console.log('Socket.IO सर्वर पोर्ट 3000 पर चालू है');\n});
\n\n

TypeScript पर क्लाइंट का उदाहरण

\n
import { io, Socket } from 'socket.io-client';\n\nconst socket: Socket = io('http://localhost:3000');\n\nsocket.on('connect', () => {\n  console.log('सर्वर से कनेक्ट हुआ, ID:', socket.id);\n  socket.emit('join_room', 'javascript-lesson');\n});\n\nsocket.on('new_message', (data) => {\n  console.log(`${data.user}: ${                    

अनुशंसाएँ