var net = require('net');
var stdin = process.openStdin();
var client_list = [];
var server = net.createServer(function(connection) {
//console.log('client connected');
connection.on('error', function(e){
if(e.code == 'ECONNRESET'){
console.log('Client dissconeccted');
}
});
//connection.write('Hello World!\r\n');
stdin.addListener("data", function(d) {
// note: d is an object, and when converted to a string it will
// end with a linefeed. so we (rather crudely) account for that
// with toString() and then trim()
console.log("you entered: [" + d.toString().trim() + "]");
connection.write(d.toString().trim());
});
connection.pipe(connection);
});
server.listen(9999, function() {
console.log('server is listening');
});
Client:
var net = require('net');
var HOST = 'localhost';
var PORT = 9999;
//var client = new net.Socket();
var client = net.connect(PORT, HOST, function(){
console.log('connected to server! ' + HOST + ':' + PORT);
//client.write('I am Superman');
});
client.on('data', function(data) {
var data = data.toString();
console.log(data);
//If data starts with JS add injection functionallity
if (data === "END"){
client.end();
console.log("ENDING!")
}
else if (data === "poo"){
console.log("HOLY SHIT!")
}
});
//Keep trying to connect!
client.on('error', function(e) {
console.log('Parent connection error');
//client.end();
client.connect(PORT, HOST);
});
client.on('end', function() {
console.log('disconnected from server');
});
/*var client = net.connect({port: 8080}, function() {
console.log('connected to server!');
});*/
Alors qu'est-ce qui se passe est qu'il continue d'ajouter des auditeurs et me met en garde à 11 auditeurs avec le message (?):
"Possible EventEmitter memory leak detected. 11 data listeners added. Use emitter.setMaxListeners() to increase limit".
Pourquoi est-ce? J'ai essayé de corriger ceci en déplaçant stdin.addListener()
mais cela ne prend pas du tout l'entrée ou le problème persiste. Suis-je sur quelque chose? Et comment fonctionne le code dans le noeud, est-ce une boucle?
Merci d'avance!
{ "name": "tcp", "version": "1.0.0", "description": "client Tcp/test du serveur", "principaux": "server.js", "scripts": { "test": "echo \" Erreur: aucun test spécifié \ "&& exit 1" ", " auteur ":" Juliet ", " licence ":" ISC ", " dépendances " : { "net": "^ 1.0.2" } } –