मैं वेब सॉकेट का उपयोग कर आईओएस ऐप और नोडजेएस सर्वर के बीच वास्तविक समय में संवाद करने के लिए नोडजेएस के लिए eniaros/ws मॉड्यूल का उपयोग कर रहा हूं।मैं wode (सुरक्षित ws) कनेक्शन स्वीकार करने के लिए NodeJS के लिए einaros/ws मॉड्यूल कैसे सेट कर सकता हूं?
ऐप ठीक चलाता है, लेकिन अब मुझे wss का उपयोग कर सर्वर और आईओएस ऐप के बीच संचार सुरक्षित करना होगा। मैं अपने रैपिड SSL प्रमाणपत्र और कुंजी है और मैं सर्वर पर निम्न कोड का उपयोग कर रहा:
var fs = require('fs');
var cfg = {
ssl: true,
port: 8081,
ssl_key: 'key.key',
ssl_cert: 'cert.crt'
};
var httpServ = (cfg.ssl) ? require('https') : require('http');
var app = null;
// dummy request processing
var processRequest = function(req, res) {
res.writeHead(200);
res.end("All glory to WebSockets!\n");
};
if (cfg.ssl) {
app = httpServ.createServer({
// providing server with SSL key/cert
key: fs.readFileSync(cfg.ssl_key),
cert: fs.readFileSync(cfg.ssl_cert)
}, processRequest).listen(cfg.port);
} else {
app = httpServ.createServer(processRequest).listen(cfg.port);
}
// passing or reference to web server so WS would knew port and SSL capabilities
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ server: app });
कोड काफी उदाहरण GitHub पर ws/examples/ssl.js फ़ाइल में दी गई है, लेकिन किसी कारण NodeJS/ws सर्वर के लिए किसी भी wss सॉकेट कनेक्शन स्वीकार नहीं करता है।
मैं सही पथ wss का उपयोग कर रहा हूं: // REMOTE_SERVER_IP: 8081/और मैं http://www.websocket.org/echo.html के साथ परीक्षण कर रहा हूं।
मैंने दूर-दराज की खोज की है लेकिन eniaros/ws का उपयोग करके सुरक्षित wss को सेटअप करने के तरीके पर एक अद्यतित ट्यूटोरियल प्रतीत नहीं होता है।
कोड का वह टुकड़ा अपेक्षाकृत बड़ा है, इसलिए मैं इस बात को हाइलाइट करना चाहता हूं कि यह काम करने के लिए कुंजी 'https' उदाहरण को '{port: 80}' के बजाय 'new WebSocketServer()' पर भेज रहा है। [यहां अधिक जानकारी] (http://stackoverflow.com/q/31338927/722036)। उम्मीद है की यह मदद करेगा। –