node.js socket.write()在if条件下不工作

node.js socket.write()在if条件下不工作,node.js,Node.js,我有一个问题,关于“IF”条件,我需要发送menssage“socket.write('11')”,但是如果第二个“socket.write”不在代码中,它就不会发送menssage。在我的代码中,我不需要第二次写入。为什么会这样 **我发现了另一个错误,如果我没有将变量“data”放在socket.write()上,它就不会向客户端发送任何消息 问候 var net = require('net'); var HOST = '192.168.0.104'; var PORT = 6060; v

我有一个问题,关于“IF”条件,我需要发送menssage“socket.write('11')”,但是如果第二个“socket.write”不在代码中,它就不会发送menssage。在我的代码中,我不需要第二次写入。为什么会这样

**我发现了另一个错误,如果我没有将变量“data”放在socket.write()上,它就不会向客户端发送任何消息

问候

var net = require('net');
var HOST = '192.168.0.104';
var PORT = 6060;
var connections = 0;

var clients = [];

net.createServer(function (socket) {

// Identify this client
socket.name = socket.remoteAddress + ":" + socket.remotePort

// Put this new client in the list
clients.push(socket);

// Send a nice welcome message and announce
socket.write("Welcome Client: " + socket.name + "\n");
connections++;
console.log('Active connections: ' + connections);
console.log(socket.name + " joined the chat.");

// Handle incoming messages from clients.
socket.on('data', function (data) {
var response = data.toString();
var recv = response.length;

if (recv == 16){
socket.write('11'); //****** First write
console.log("11");
}

console.log(socket.name + "length: " + recv);

socket.write('You said: "' + data); //***** Second write

});


// Remove the client from the list when it leaves
socket.on('end', function () {
clients.splice(clients.indexOf(socket), 1);
console.log(socket.name + " left the chat.");
connections--;
console.log('Active connections: ' + connections);
});

}).listen(PORT, HOST);

 // Put a friendly message on the terminal of the server.
console.log('Server listening on ' + HOST +':'+ PORT);
签出方法


此外,您还可以使用的返回值来检测数据是否已发送到导线。

您好,谢谢您的回答,但它在“net.createServer(function(socket){”之后加上了“socket.setNoDelay(true);”,并且不起作用,您还知道会发生什么情况。关于
socket.write的返回值是什么?