2012-06-18 8 views
18

मैं node.js में एक शुरुआतकर्ता हूं (वास्तव में आज ही शुरू हुआ)। बुनियादी अवधारणाओं में से एक मुझे स्पष्ट नहीं है, जो मैं यहां पूछ रहा हूं & SO पर नहीं मिल सका।दो node.js उदाहरणों के बीच संवाद कैसे करें, एक क्लाइंट एक सर्वर

सर्वर साइड (कहना server.js):

var http = require('http'); //require the 'http' module 

//create a server 
http.createServer(function (request, response) { 
    //function called when request is received 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 
    //send this response 
    response.end('Hello World\nMy first node.js app\n\n -Gopi Ramena'); 
}).listen(1337, '127.0.0.1'); 

console.log('Server running at http://127.0.0.1:1337/'); 

क्लाइंट साइड (

वेब पर कुछ ट्यूटोरियल पढ़ना मैं एक ग्राहक के पक्ष & एक सर्वर साइड कोड लिखा था client.js कहें):

var http=require('http'); 

//make the request object 
var request=http.request({ 
    'host': 'localhost', 
    'port': 80, 
    'path': '/', 
    'method': 'GET' 
}); 

//assign callbacks 
request.on('response', function(response) { 
    console.log('Response status code:'+response.statusCode); 

    response.on('data', function(data) { 
    console.log('Body: '+data); 
    }); 
}); 

अब सर्वर चलाने के लिए, मैं टर्मिनल या cmd प्रॉम्प्ट में node server.js टाइप करता हूं। & यह 127.0.0.1:1337 पर ब्राउज़ करते समय कंसोल & में संदेश को सफलतापूर्वक लॉग करता है प्रतिक्रिया प्रतिक्रिया देता है।

लेकिन, मैं क्लाइंट.जेएस कैसे चला सकता हूं? मैं समझ नहीं सका कि क्लाइंट साइड कोड कैसे चलाया जाए।

+3

नोड के लिए डिज़ाइन किया गया है है सर्वर नहीं पक्ष है ग्राहक की ओर। इस पर एक नजर डालिए। http://stackoverflow.com/questions/5168451/javascript-require-on-client-side –

+2

यह सुनिश्चित नहीं है कि आपने क्लाइंट.जेएस कहां पाया है या आप इसे क्या करने की उम्मीद करते हैं, लेकिन ऐसा कुछ नहीं है जिसे आप ब्राउज़र में डाल सकते हैं। यदि ग्राहक द्वारा, आप निश्चित रूप से एक और Node.js आवेदन का मतलब है। मुझे लगता है कि आपको मिले ट्यूटोरियल आपको एक सर्वर लिखने के बारे में निर्देश दे रहा था जो अन्य सर्वरों पर HTTP संसाधनों तक पहुंचता है। – Brad

+0

आपको 'client.js' कहां मिला? क्या आपने इसे खुद लिखा था? आप इसके साथ क्या हासिल करने की कोशिश कर रहे हैं? – jsalonen

उत्तर

10

लघु जवाब: यदि आप अपने "क्लाइंट साइड" कोड को चलाने के लिए आदेश

node client.js 

उपयोग कर सकते हैं, यह एक http अनुरोध

भेज देंगे क्या server side है और क्या client side है, यह वास्तव में पर निर्भर करता है है के बारे में प्रसंग।

हालांकि ज्यादातर मामलों में, client side कोड अपने ब्राउज़र या अपने मोबाइल फोन एप्लिकेशन पर चल रहा है इसका मतलब है, server side का अर्थ है "सर्वर" या "वापस अंत" अपने ब्राउज़र या अपने मोबाइल फोन से बात कर रहा है।

आपके मामले में, मुझे लगता है कि इसे और अधिक एक और "सर्वर" करने के लिए एक "सर्वर" वार्ता की तरह है, और वे दोनों वापस अंत पर कर रहे हैं, के बाद से है कि क्या Node.js

+0

ठीक है, मुझे इस विधि की जांच करने दें। – gopi1410

+1

@ gopi1410 लैरी ने कहा, अगर आप चाहते हैं कि आपका क्लाइंट.जेएस आपके सर्वर.जेएस से बात करे, तो आपको अपने क्लाइंट के बंदरगाह को बदलना चाहिए।जेएस से 1337 – xvatar

+0

yup मैंने 'होस्ट' को '127.0.0.1' और 'पोर्ट' में 1337 में बदल दिया, लेकिन फिर भी जब मैं 'node client.js' चलाता हूं, तो यह कोई त्रुटि नहीं दिखाता है, लेकिन यह आउटपुट में कुछ भी नहीं करता है कंसोल प्रतिक्रिया स्थिति कोड नहीं दिखाना चाहिए ?? – gopi1410

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