Node.js 是否在SSH2中为NodeJS清除客户端控制台?

Node.js 是否在SSH2中为NodeJS清除客户端控制台?,node.js,Node.js,我正在构建一个命令行游戏,玩家可以通过SSH连接到该游戏。我有一个响应命令的SSH2服务器脚本,但我想知道是否可以从服务器上清除客户端控制台 我希望有一个cls/clear命令,可以根据用户的请求清除控制台,比如Unix命令“clear” 这是我的密码: var fs=require('fs'); var crypto=require('crypto'); var-inspect=require('util')。inspect; var ssh2=需要('ssh2'); var utils=ss

我正在构建一个命令行游戏,玩家可以通过SSH连接到该游戏。我有一个响应命令的SSH2服务器脚本,但我想知道是否可以从服务器上清除客户端控制台

我希望有一个cls/clear命令,可以根据用户的请求清除控制台,比如Unix命令“clear”

这是我的密码:

var fs=require('fs');
var crypto=require('crypto');
var-inspect=require('util')。inspect;
var ssh2=需要('ssh2');
var utils=ssh2.utils;
var allowedUser=Buffer.from('foo');
var allowedPassword=Buffer.from('bar');
var allowedPubKey=utils.parseKey(fs.readFileSync('public.key');
新的ssh2.Server({
主机密钥:[{
key:fs.readFileSync('private.key'),
密码短语:“”
}
]
},功能(客户端){
log('Client connected!');
客户端.on('authentication',函数(ctx){
var user=Buffer.from(ctx.username);
if(user.length!==allowedUser.length
||!crypto.timingSafeEqual(用户,允许用户)){
返回ctx.reject();
}
开关(ctx.方法){
案例“密码”:
var password=Buffer.from(ctx.password);
if(password.length!==allowedPassword.length
||!crypto.timingSafeEqual(密码,allowedPassword)){
返回ctx.reject(['password'],false);
}
打破
违约:
返回ctx.reject(['password'],false);
}
ctx.accept();
}).on('ready',function(){
log('Client authenticated!');
client.once('session',函数(接受、拒绝){
var session=accept();
session.on('shell',(接受,拒绝)=>{
var stream=accept();
stream.write('Welcome to EnLore!\n\r');
stream.on('data',data=>{
var args=data.toString().replace(“\n”,”).split(“”);
如果(args[0]='\r')返回;
开关(参数[0]){
“退出”案例:
流。出口(0);
stream.end();
流=未定义;
打破
“回声”一案:
stream.write(args[1]);
打破
案例“明确”:
//------请在此处清除控制台--------------
打破
违约:
stream.write('Unknown command');
打破
}
stream.write('\n\r');
});
});
});
}).on('end',函数(){
log(“客户端断开连接”);
});
}).监听(8080,'0.0.0.0',函数(){
console.log('侦听端口'+this.address().port);
});
编辑: 我发现,将\f写入流将清除当前窗口,但是,它只附加到控制台,而不是清除它