node.js - How to retain the values across conections in websocket server? -


नीचे websocket सर्वर साइड कोड है जो "ws" प्लगिन का उपयोग करता है।

  var WebSocketServer = आवश्यकता ('ws')। सर्वर, wsSend = new WebSocketServer ({port: 8080}) // ग्राहक इस पोर्ट पर संदेश भेजता है। , wsReceive = नया वेबसॉकेट सर्वर ({पोर्ट: 8081}) // प्रतिक्रिया इस पोर्ट पर भेजी गई है। , ClientMessage; wsSend.on ('कनेक्शन', ReceiveSocketConnection); // ग्राहक से ग्राहक के संबंध में // कॉलबैक फ़ंक्शन फ़ंक्शन ReceiveSocketConnection (वेबसॉकेट) {webSocket.on ('संदेश', GetMessageFromClient); } // हैंडलर ग्राहक से संदेश प्राप्त करने के लिए फ़ंक्शन GetMessageFromClient (messageFromClient) {clientMessage = messageFromClient; // क्लाइंट से संदेश चर में सहेजा गया है) wsReceive.on ('कनेक्शन', SendSocketConnection); // क्लाइंट के लिए   

नीचे क्लाइंट साइड कोड है।

  var वेबसॉकेट = आवश्यक ('ws'), wsSend = new WebSocket ('ws: // localhost: 8080') // भेजें पोर्ट, wsReceive = नया वेबसाकेट ('ws: // localhost: 8081'); // भेजें पोर्ट पर ओपन कनेक्शन / पोर्ट प्राप्त करें wsSend.on ('open', फ़ंक्शन () {wsSend.send ('हाय मैं वेबसाईट पर नया हूँ';}); // प्राप्त पोर्ट पर ओपन कनेक्शन। wsReceive.on ('खुला', फ़ंक्शन () {// कुछ भी नहीं}}; // पोर्ट 8081 के माध्यम से सर्वर से संदेश प्राप्त करें wsReceive.on ('message', फ़ंक्शन (संदेश) {console.log ('प्राप्त किया:% s', संदेश);});   

संदेशों को भेजने और प्राप्त करने के लिए अलग-अलग बंदरगाह हैं क्योंकि यह एक डिजाइन निर्णय है।

मैं इसे एक बंदरगाह पर प्राप्त करके संदेश भेजना चाहता हूं

समस्या: क्लाइंट से संदेश स्थानीय चर (यानी क्लाइंट मेसेज) में सहेजा नहीं गया है। कोई भी सुझाव?

यह काम करना चाहिए, हालांकि मैं

  var WebSocketServer = require ('ws') का प्रयोग करने की सलाह देता हूं। सर्वर, wsSend = new WebSocketServer ({port: 8080} ) // ग्राहक इस पोर्ट पर संदेश भेजता है। , wsReceive = नया वेबसॉकेट सर्वर ({पोर्ट: 8081}) // प्रतिक्रिया इस पोर्ट पर भेजी गई है। WsReceive.broadcast = function (डेटा) {for (var i में this.clients) this.clients [i] .end (डेटा); }; WsSend.on ('connection', function (ws) {ws.on ('message', function (message) {console.log ('प्राप्त किया:% s', संदेश); ​​try {console.log ('sending:% s ', संदेश); ​​wsReceive.broadcast (संदेश);} पकड़ (e) {console.log (e);}});});    

Comments

Popular posts from this blog

c# - passing input text from view to contoller with FacebookContext using Facebook app -

ios - Does Core Data autoupdate a many to many relationship on saving -

Calling a C++ function from C# by passing a string with variable size to it -