Javascript Nodejs net.createServer检测数据何时完成

Javascript Nodejs net.createServer检测数据何时完成,javascript,node.js,server,Javascript,Node.js,Server,假设我使用Node.js中的net.createServer创建一个服务器,如下所示: 'use strict'; var net = require('net'), serverPort = 1024, serverHost = 'localhost', server; server = net.createServer(function (socket) { var whole = ''; console.log('Client connected

假设我使用Node.js中的
net.createServer
创建一个服务器,如下所示:

'use strict';

var net = require('net'),
    serverPort = 1024,
    serverHost = 'localhost',
    server;

server = net.createServer(function (socket) {
    var whole = '';
    console.log('Client connected.');
    socket.setEncoding('utf8');
    socket.on('data', function (data) {
        console.log('Received data.');
        whole += data;
    });
    socket.on('end', function () {
        console.log('Client disconnected.');
    });
});

server.listen(serverPort, serverHost, function () {
    console.log('Server listening at ' + serverHost + ':' + serverPort);
});

我在一个外部程序中创建了一个到这个服务器的连接,并向它发送一个大字符串。“接收数据”打印4次。如何确定服务器何时接收到整个字符串?
end
事件仅在客户端断开连接时调用,而不是在客户端发送完大字符串时调用。

当源发送FIN数据包时,将发出“end”。您可以创建一个可读的流,并在该流上侦听“end”@比利我不明白你的意思,我试过
var readable=new readable();管套(可读);readable.on('data',function(){})但它抛出了一个错误。你能提供一个代码示例吗?