2013-04-17 4 views
5

पास करें। मुझे आश्चर्य है कि sode.io सॉकेट को node.js में एक फोर्क प्रक्रिया में पास करने का कोई तरीका है या फोर्क प्रक्रिया में सॉकेट.ओ सॉकेट का पुनर्निर्माण करना है या नहीं। ?node.js सॉकेट.ओ सॉकेट को फोर्कड प्रक्रिया

child = require("child_process").fork("worker.js") 
io.sockets.on("connection", function(socket){ 
    child.send("socket", socket); //this definitely fails now 
}) 
+1

'क्लस्टर' मॉड्यूल के बारे में कैसे? अगर आप क्लस्टरिंग करना चाहते हैं। [यह लिंक 'socket.io' + 'एक्सप्रेस' क्लस्टरिंग नमूना] (https://gist.github.com/nulltask/1877289) –

+0

आप क्लस्टर मॉड्यूल का उपयोग कर कांटा कर सकते हैं – user568109

उत्तर

0

समाधान: उपयोग Redis

इम सुनिश्चित करें कि आप socket.io-redis के अस्तित्व के बारे में पता करने के लिए

इसके साथ आप भेजना/प्राप्त की घटनाओं में सक्षम हो जाएगा खुश हो जाएगा (शेयर क्लाइंट) अपने कोड (प्रक्रियाओं या सर्वर) के कई उदाहरणों के बीच। Read more : socket.io-redis (Github Repo.)

इस के साथ

आप पैमाने पर कर सकते हैं:

  1. खड़ी
  2. (मशीन प्रति धागे की संख्या में वृद्धि) क्षैतिज
(अधिक मशीनों करवाते हैं और अधिक "स्वामी" को तैनात)

There is an example app at github

यह एक बहुत ही सरल नोड.जेएस क्लाइंट/सर्वर एप्लिकेशन है जो दिखाता है कि Express.js, Socket.IO 1.x और socket.io-redis को एक साथ कैसे सेट करें।

यह सॉकेट.आईओ रीयलटाइम अनुप्रयोगों को स्केल करने के लिए प्रारंभिक बिंदु के रूप में बहुत उपयोगी है जो एकाधिक सर्वर प्रक्रियाओं की आवश्यकता है। विभिन्न socket.io उदाहरणों को विभिन्न प्रक्रियाओं या सर्वरों में चलाने के लिए रेडिस को स्टोरेज पॉइंट (एडाप्टर) के रूप में उपयोग किया जाता है जो सभी एक-दूसरे से ईवेंट को प्रसारित और उत्सर्जित कर सकते हैं।

संबंधित मुद्दे