2013-02-26 22 views
21

मैं वर्तमान में एक बंदरगाह से JSON और whatnot भेजकर, ग्राहकों के साथ संवाद करने के लिए सॉकेट्स का उपयोग कर रहा हूं।2 अलग-अलग बंदरगाहों को सुनने के लिए node.js का उपयोग

यह सब अच्छा काम कर रहा है, लेकिन मैं क्या करना चाहता हूं परीक्षण परीक्षण उद्देश्यों के लिए एक प्रकार का प्रशासन पृष्ठ बनाने के लिए एक और बंदरगाह पर एक साथ सुनना है।

उदाहरण के लिए, पृष्ठ के पास अन्य पोर्ट पर जुड़े सभी ग्राहकों के लिए एक निश्चित प्रकार का JSON भेजने के लिए एक बटन होगा।

यदि यह आदर्श नहीं है, तो अन्य सरल समाधानों पर कोई मदद बहुत अच्छी होगी।

उत्तर

42

बस http का एक और उदाहरण बनाएं और इसे रुचि रखने वाले पोर्ट को सुनने के लिए रखें। मैं आपको एक उदाहरण दिखा:

var http = require('http'); 

http.createServer(onRequest_a).listen(9011); 
http.createServer(onRequest_b).listen(9012); 

function onRequest_a (req, res) { 
    res.write('Response from 9011\n'); 
    res.end(); 
} 

function onRequest_b (req, res) { 
    res.write('Response from 9012\n'); 
    res.end(); 
} 

उसके बाद, आप यह परीक्षण कर सकते हैं (अपने ब्राउज़र, या curl के साथ):

$ curl http://localhost:9011 
Response from 9011 

$ curl http://localhost:9012 
Response from 9012 
+2

किसी शक, इस दो अलग-अलग प्रक्रियाओं बनाने के लिए जा रहा है, या बस है एक? – juancancela

+2

@juancancela यह एक एकल प्रक्रिया तैयार करेगा, क्योंकि ज्ञात नोड एकल प्रक्रिया है, जब तक कि आप एक बच्चे की प्रक्रिया को फोर्क नहीं करते हैं, स्पष्ट रूप से सबकुछ एक ही प्रक्रिया से होगा। – ShrekOverflow

+0

कूल, क्या हम कई सॉकेट सुनने और क्लस्टरिंग को जोड़ सकते हैं? – suresh

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

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