QProcess exc;
QTextCodec *codec = QTextCodec::codecForName("GBK");
while(!App::ping_while_stop)
{
update_ping_ip();
QString cmdstr="ping -n 1 -w 1000 ";
cmdstr = cmdstr + App::ssh_ip;
exc.start(cmdstr);//执行ping
exc.waitForFinished(-1);//等待ping完成
QString outstr=codec->toUnicode(exc.readAll());//获取ping结果
//返回不等于-1,说明ping结果包含"往返行程的估计时间"字段,则说明ping成功,网络可达;等于-1,表示没有此字段,说明ping不通
if((-1 !=outstr.indexOf("往返行程的估计时间")))
{
App::ping_ip_state = true;
//qDebug("在线\n");
}
else
{
App::ping_ip_state = false;
//qDebug("离线\n");
}
myHelper::sleep(1000);
}