के बीच वेबस्केट कनेक्शन साझा करना सॉकेट.आईओ की आरपीसी कार्यक्षमता का उपयोग करते समय बाइनरी डेटा भेजने में सक्षम होने के प्रयास में, मैंने सोचा कि मैं सॉकेट.आईओ और WS मॉड्यूल दोनों का उपयोग उसी सर्वर पर कर सकता हूं। दोनों कनेक्शन बनाने के लिए पूरी तरह से अलग सर्वर खोलने के बजाय, मुझे आश्चर्य है कि क्या मैं एक ही HTTP सर्वर का उपयोग कर सकता हूं।सॉकेट.आईओ और डब्ल्यूएस
क्या यह एक ही समय में सॉकेट.आईओ और डब्ल्यूएस दोनों के लिए http.createServer()
के साथ बनाए गए केवल एक सर्वर का उपयोग करना संभव है? स्पष्ट होने के लिए, मुझे क्लाइंट से सॉकेट.आईओ कनेक्शन और नियमित वेबसाकेट कनेक्शन दोनों बनाने की उम्मीद है। निम्न कोड क्लाइंट पक्ष पर प्रोटोकॉल त्रुटियों को बनाता है, संभवतः क्योंकि सॉकेट.आईओ और डब्ल्यूएस दोनों कनेक्शन को संभालने का प्रयास कर रहे हैं।
var http = require('http');
var server = http.createServer(app);
server.listen(3000);
// Socket.IO
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
// ...
}
// ws
var WebSocketServer = require('ws').Server
var wss = new WebSocketServer({server: server});
wss.on('connection', function (ws) {
// ...
}