मैं एक नोड.जेएस एप्लीकेशन विकसित कर रहा हूं जो वास्तविक समय संचार को संभालने के लिए सॉकेट.ओ का उपयोग करता है। मेरा कोड ऑन और एमिट फ़ंक्शंस से भरा है। मैं कमरे की सुविधा का भी उपयोग करता हूं। मेरे ऐप इस तरह दिखता है:सॉकेट.io सर्वश्रेष्ठ कोडिंग अभ्यास
var server = require('http').Server();
var io = require('socket.io')(server);
io.on('connection', function(socket){
socket.on('event1', function(data){"lots of socket and non-socket codes" });
socket.on('event2', function(data){"lots of socket and non-socket codes" });
socket.on('event3', function(data){"lots of socket and non-socket codes" });
socket.on('disconnect', function(){"Some other code"});
});
server.listen(portNum);
यह ठीक काम करता है, लेकिन यह मेरा आदर्श समाधान नहीं है। सबसे पहले, इस दृष्टिकोण में सब कुछ अलग फ़ाइल के बजाय छोटी फ़ाइल की बजाय एक बड़ी फ़ाइल में है।
दूसरी बात, इस ऐप को डीबग करना और बनाए रखना काफी मुश्किल है क्योंकि यह कोड की 1000+ लाइनों की बात आती है।
वहाँ उद्यम गुणवत्ता Socke.io अनुप्रयोगों के विकास पर एक पसंदीदा/सबसे अच्छा अभ्यास है:
यहाँ मेरे सवाल है? यदि हां, क्या कोई बड़ा ओपनसोर्स सॉकेट.ओ एप्लिकेशन है जो इस दृष्टिकोण या किसी भी आलेख को प्रदर्शित करता है जो मुझे बेहतर कोड में मेरे कोड को दोबारा करने में मदद करता है?
मैं एक अलग में हर कॉलबैक फ़ंक्शन डालकर शुरू करने लगता है फ़ंक्शन जिसे आपने io.on ('कनेक्शन') से बाहर रखा है, और शायद उन्हें एक अलग फ़ाइल में भी डाल सकता है (मॉड्यूल.एक्सपोर्ट्स का उपयोग करके), आप एक स्पष्ट आवेदन शुरू कर देंगे। – Jujuleder
@ जुजुल्डर जो मुझे चाहिए वही है। लेकिन मैं जानना चाहता हूं कि सभी मॉड्यूल में सॉकेट ऑब्जेक्ट को बनाए रखते हुए यह कैसे प्राप्त किया जा सकता है। – Raiss