本帖最后由 gl695133087 于 2024-5-26 09:52 编辑
var strarray = msg.session['stdout']['4']
var n1 = strarray.indexOf('rx');//获取“rx”所在位置
var n2 = strarray.indexOf('tx');
//以下是提取收发速率字符串含包
var rxstr1 = strarray.substring(n1, n2).replace(/\s/g, '');
var txstr1 = strarray.substring(n2).replace(/\s/g, '');
var n3 = rxstr1.indexOf('rx');//提取rxstr1内‘rx’位置
var n4 = rxstr1.indexOf('bit');
var n5 = txstr1.indexOf('tx');
var n6 = txstr1.indexOf('bit');
var rxif = rxstr1.substring(n4-1,n4);//提取数据单位K或M
var txif = txstr1.substring(n6-1,n6);
//若单位是M,则换算成K
if (rxif === "M"){
var rxstr = rxstr1.substring(n3+2,n4-1)*1024;
}else{
var rxstr = rxstr1.substring(n3+2,n4-1)*1;
};
if (txif === "M"){
var txstr = txstr1.substring(n5+2,n6-1)*1024;
}else{
var txstr = txstr1.substring(n5+2,n6-1)*1;
};
msg.payload = {
//"ww": rxif,
//"we": txif,
//"ee": rxstr1,
//"ew": txstr1,
"下载速率": rxstr,
"上传速率": txstr
};
return msg;
图片显示不了,直接上代码吧 就是第二个if里面的相关数值改一下就正常了。
逍遥风扇 发表于 2024-5-26 09:39
不错,感谢大佬,我前两天也在寻找ssh下读取网速的方案。。大佬给出了明灯啊 ...
昨晚发现上传有时候会显示未知,调试发现是提取节点的这里参数没改到,把3改成5,把4改成6就可以了。
|