मैं एक छोटी पिंग स्क्रिप्ट बनाना चाहता हूं। मैं नोड जेएस में एक नौसिखिया हूँ। मेरा अंतिम छोटा लक्ष्य क्लाइंट को सर्वर पिंग करना है। मैं चाहता हूं कि सर्वर कंसोल में संदेश लॉग इन करके पैकेट को स्वीकार करे और मैं चाहता हूं कि वह ग्राहक को उसी पैकेट/संदेश को वापस भेज दे।नोड जेएस: पिंग सर्वर और क्लाइंट यूडीपी
यह वही है मैं अब तक है:
सर्वर:
var PORT = 33333;
var HOST = '127.0.0.1';
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on('listening', function() {
var address = server.address();
console.log('UDP Server listening on ' + address.address + ":" + address.port);
});
server.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port +' - ' + message);
// I added a server.send but it gave me an infinite loop in the server console
});
server.bind(PORT, HOST);
ग्राहक:
var PORT = 33333;
var HOST = '127.0.0.1';
var dgram = require('dgram');
var message = new Buffer('My KungFu is Good!');
var client = dgram.createSocket('udp4');
client.on('message', function (message, remote) {
console.log("The packet came back");
});
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
if (err) throw err;
console.log('UDP message sent to ' + HOST +':'+ PORT);
count++;
});
अद्यतन:
धन्यवाद! वास्तव में मदद की। लेकिन मेरे पास एक और सवाल है। मान लें कि मैं पैकेट को विशिष्ट बाइट्स में भेजना चाहता हूं। मैं 1kb के लिए 1000 के साथ 'message.length' को प्रतिस्थापित करूँगा? लेकिन मुझे एक त्रुटि मिलती है 'नई त्रुटि फेंक दें (' ऑफसेट + लंबाई बफर लंबाई से परे ');'
मुझे समझ में नहीं आता क्यों।
धन्यवाद:
यहाँ एक उदाहरण है! वास्तव में मदद की। लेकिन मेरे पास एक और सवाल है। मान लें कि मैं पैकेट को विशिष्ट बाइट्स में भेजना चाहता हूं। मैं 1kb के लिए 1000 के साथ 'message.length' को प्रतिस्थापित करूँगा? लेकिन मुझे एक त्रुटि मिलती है 'नई त्रुटि फेंक दें (' ऑफसेट + लंबाई बफर लंबाई से परे ');' मुझे समझ में नहीं आता क्यों। –
क्योंकि आपका बफर 18 बाइट लंबा है ("मेरा कुंगफू अच्छा है!" लंबाई, डिफ़ॉल्ट कोडेक एसीआई/बाइनरी बाइट प्रति चरित्र है)। 'Var message = new Buffer (1000); '1000 बाइट भेजने के लिए अपना संदेश बनाएं –