サーバー:Node.jsがClientにServer入力を送信します。メモリリークに関する警告。私の間違いは何ですか?そして、node.jsはどのようにコードを実行しますか?
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');
});
クライアント:(?):
"Possible EventEmitter memory leak detected. 11 data listeners added. Use emitter.setMaxListeners() to increase limit".
なぜ
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!');
});*/
だから何が起こるかは、それは追加のリスナーを保持し、メッセージで11人のリスナーで私に警告しているということですこれは?私はstdin.addListener()
を動かすことでこれを修正しようとしましたが、入力を全く受けないか、問題が解決しません。私は何かの上にいるのですか?そして、コードはどのようにノードで実行されますか、それはループですか?
ありがとうございます!
{ "名前": "TCP"、 "バージョン": "1.0.0"、 "説明": "TCPクライアント/サーバ・テスト"、 "メイン": "server.js"、 "スクリプト":{ "test": "エコー\"エラー:テストが指定されていません "&& exit 1" 、 "author": "Juliet"、 "license": "ISC"、 "依存関係" :{ "net": "^ 1.0.2" } } –