2016-05-25 20 views
0

Axis Communicationsのアプリケーション用に2台のipカメラを使用しています。私はカメラが絶えず切断されているかどうか確認したい。 QNetworkAccessManagerQNetworkReplyを使用すると可能ですか?QNetworkAccessManagerを使用してIPカメラ接続を検出していますか?

私が試したもののプロトタイプは、以下の方法のようである:

QNetworkAccessManager *m_networkAccessManager = new QNetworkAccessManager(); 
QNetworkReply *m_networkReply = m_networkAccessManager->get(QNetworkRequest(camUrl)); 
if (!m_networkReply) 
{ 
    delete m_networkAccessManager; 
    qDebug()<<"Camera not found"<<endl; 
} 

connect(m_networkReplyCam, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(cameraDisconnected(QNetworkReply::NetworkError))); 

void MainWindow::cameraDisconnected(QNetworkReply::NetworkError) 
{ 
    qDebug()<<"Camera Disconected"<<endl; 
} 

しかしスロットcameraDisconnectedが呼び出されるように見えることはありません。

connect(m_networkReplyCam, SIGNAL(finished()), this, SLOT(cameraDisconnected())); 

しかし、その後もスロットが呼ばれることは決してありません:私はまた、次のようにQNetworkReplyからfinished()信号に接続しようとしました。

私は間違っていますか?

ありがとうございました。

答えて

0

あなたの要求はタイムアウトになります。ホストに到達できない場合はしばらくしてからしてください。 QNetworkRequestまたはQNetworkAccessManagerに特定のタイムアウトを設定する組み込み方法はありません。そのため、特定の時間後に独自のタイマーを中止するように実装することも可能です。例えば、123のような複数の例があります。

関連する問題