读取NodeJS TCP服务器中的客户端数据输入



我正在尝试创建一个NodeJS TCP服务器,它将读取客户端的输入,然后采取相应的行动。

我想知道如何读取数据,这样我就可以设置条件来执行过程。

var net = require('net');
var server = net.createServer(function (socket) {
socket.on('data', function(data) {
    buf = new Buffer(256);
    len = buf.write(data.toString());
    if (buf.toString('utf8', 0, len) === "test"){
        console.log("you typed test");
    }
    console.log(len + " bytes: " + buf.toString('utf8', 0, len));
});
socket.write("Connected to server.rn");
});
server.listen(8080, "127.0.0.1");

我正在输出此处输入的值:console.log(len + " bytes: " + buf.toString('utf8', 0, len));但是,当我在客户端窗口中实际键入"test"时,我在该日志上方的if语句与值"test"不匹配。

感谢提供的任何帮助

-chris

我使用toString()方法计算出:

socket.on('data', function(data) {
  var response = data.toString().trim();
  if (/disconnect/.test(response)) {
    console.log("Client is diconnecting.");
    socket.end('Disconnecting you now.rn');
  } 
});
socket.on('end', function() {
  console.log('client disconnected');
});

最新更新