問題があります。「IF」条件の部分で、メッセージ「socket.write('11')」を送信する必要がありますが、2 番目の「socket.write」がオンでない場合、メッセージは送信されません。コード。私のコードでは、2 回目の書き込みは必要ありません。なぜそれが起こったのですか?
** 他のエラーが見つかりました。var "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);