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

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

 '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); }); 

我在外部程序中创build了一个到这个服务器的连接,并发送一个大的string。 “收到的数据” 打印4次。 我怎样才能明确知道整个string已被服务器接收? end事件只在客户端断开连接时调用,而不是在完成发送大串时。