मैं नोडजेस का उपयोग करके एक साधारण क्लाइंट-सर्वर कनेक्शन को जानना चाहता हूं। लेकिन मुझे निम्न समस्या का सामना करना पड़ा है।नोडज स्ट्रीमिंग
कोड पर विचार करें
server.js:
var net = require('net'),
sys = require('sys');
net.createServer(onConnection).listen(8124);
function onConnection(socket) {
socket.setNoDelay(true);
socket.addListener("connect", function() {
sys.puts('client connected: ' + this.remoteAddress);
});
socket.addListener("data", function (data) {
sys.puts("message: \n" + data + "\n - end of msg.");
});
socket.addListener("end", function() {
sys.puts('end of connection');
this.end();
});
}
sys.puts('Server running at 127.0.0.1:8124');
client.js:
var net = require('net'),
sys = require('sys');
var stream = net.createConnection(8124);
stream.addListener("connect", function(){
sys.puts('connected');
stream.write('a');
stream.flush();
stream.write('b');
stream.flush();
});
stream.addListener("data", function(data){
sys.puts("Message: \n" + data + "\n - end of msg.");
});
जब मैं client.js चलाने मैं कभी कभी केवल एक संदेश 'अब' के बजाय मिल दो संदेश 'ए' और 'बी'।
क्या इससे निपटने के लिए कुछ 'सही विधि' है?
आपको 'बा' भी मिल सकता है !! आपके द्वारा भेजे जाने वाले क्रम में डेटा प्राप्त करने के लिए कोई अनुदानदाता नहीं है। –
@MortezaM। असल में टीसीपी/आईपी * गारंटी देता है * डेटा भेजा गया आदेश पर प्राप्त किया जाएगा, इसलिए इस मामले में यह हमेशा 'ab' होगा। – Kornel