gpt4 book ai didi

php - 接口(interface)黑白模块

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:19 25 4
gpt4 key购买 nike

图片:http://i40.tinypic.com/2hodx55.png

我已经使用 Php 和 SNMP 构建了一个网络接口(interface)监视器,但是现在当我在本地主机上执行它时,我看到我的图表一次又一次地转到原点(0)(请查看图像),而且 Y 轴上的速度也是错误的。有时它会以百万计。

请谁能告诉我下面的代码有什么问题

    <?php
$int="wlan0";


session_start();

$rx0 =snmpget('localhost','public','.1.3.6.1.2.1.2.2.1.10.3');

$tx0 =snmpget('localhost','public','.1.3.6.1.2.1.2.2.1.16.3');

sleep(5);

$rx1 =snmpget('localhost','public','.1.3.6.1.2.1.2.2.1.10.3');

$tx1 =snmpget('localhost','public','.1.3.6.1.2.1.2.2.1.16.3');


$rx0 = substr($rx0, 11);
$tx0 = substr($tx0, 11);
$rx1 = substr($rx1, 11);
$tx1 = substr($tx1, 11);

$tBps = $tx1 - $tx0;
$rBps = $rx1 - $rx0;

$round_rx=$rBps;
$round_tx=$tBps;



$time=date("U")."000";


$_SESSION['rx'][] = "[$time, $round_rx]";
$_SESSION['tx'][] = "[$time, $round_tx]";
$data['label'] = $int;
$data['data'] = $_SESSION['rx'];

if (count($_SESSION['rx'])>60)
{
$x = min(array_keys($_SESSION['rx']));
unset($_SESSION['rx'][$x]);

}




echo '{"label":"'.$int.'","data":['.implode($_SESSION['rx'], ",").']}';


?>

最佳答案

我简化了代码片段下部的代码。

  • 我假设 $_SESSION['rx'] 已在某处初始化为数组。
  • $data 已经消失了 - 我希望它不会被进一步使用。
  • $_SESSION['tx'] 已更新,但未使用,就像您的代码段中一样。

这应该为 rx 生成干净的 JSON 输出。我不知道您的版本或此版本中的零值来自何处。检查输入(来自 snmpget() 的原始值)和输出 JSON 字符串。

$_SESSION['rx'][] = array($time, $round_rx);   
$_SESSION['tx'][] = array($time, $round_tx);

// retaining just the 60 most recent entries.
if (count($_SESSION['rx'])>60) {
array_shift($_SESSION['rx']);
}

$rxdata = array("label"=>$int, "data"=>$_SESSION['rx']);
echo json_encode($rxdata);

关于php - 接口(interface)黑白模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com