QNetworkAccessManager und Firewall

Alles rund um die Programmierung mit Qt
Antworten
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

QNetworkAccessManager und Firewall

Beitrag von darkshine »

Hallo Forum

Ich lade meiner Firmenseite ein Logo.png

Code: Alles auswählen

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinishedLogo(QNetworkReply*)));	
QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("http://www.firmenseite.de/Logo.png")));
Wenn ich das Programm starte, meldet sich meine Firewall und sagt, mein Programm möchte sich mit dem Internet verbinden. Wenn ich es zulasse gibt es keine Probleme.
Wenn ich aber die Anfrage blockiere (durch die Firewall), dann hängt das Programm.

Ich habe schon versucht alle Errors abzufangen, wie z.B. connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError)));
Aber es werden keine Signale mehr gesendet.

Vielen Dank
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Re: QNetworkAccessManager und Firewall

Beitrag von darkshine »

Dieses Problem tritt sogar hierbei schon auf

QWebView *view = new QWebView();
view->load(QUrl("http://qt.nokia.com/"));
view->show();

Auch hier meldet sich die Firewall und wenn ich auf "Blockieren" drücke, dann hängt das Programm
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: QNetworkAccessManager und Firewall

Beitrag von ScyllaIllciz »

Wie wäre es einen Timeout einzubauen und eine Fehlermeldung zu bringen?
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Re: QNetworkAccessManager und Firewall

Beitrag von darkshine »

Ich schaffe es aber nicht, dass Programm danach wieder laufen zu lassen.
Andere Programm laufen doch auch wenn man ihnen die Internetverbindung unterbindet.

Beim Update meines Programms ist es das gleiche Problem. Wenn man nach Update sucht, meldet sich die Firewall. Das kennt man auch von allen anderen Programmen. Wenn man es unterbindet, dann läuft das Programm "normal" weiter. Ich komme da nicht mehr raus, ich glaube auch ein QTimer wird nicht klappen, aber ich werde es morgen versuchen
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Re: QNetworkAccessManager und Firewall

Beitrag von darkshine »

Ich habe jetzt ein einen QTimer hinzugefügt. Leider ohne Erfolg

QTimer::singleShot(5000, this, SLOT(beendeview()));
QWebView *view = new QWebView();
view->load(QUrl("http://qt.nokia.com/"));

Wenn ich die Verbindung zulasse gibt es keine Probleme und beendeview() wird aufgerufen. Wenn ich die Verbind blockiere, dann springt mein Programm nie in die Funktion beendeview()
Ich weiß wirklich nicht was ich da machen könnte. Ich hoffe es hat noch jemand eine Idee.
Das drei Zeilen so viele Problem machen können :)

Vielen Dank
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: QNetworkAccessManager und Firewall

Beitrag von ScyllaIllciz »

Normalerweise sollte QWebView::load() asynchron sein und der Timeout Slot aufgerufen werden!
Da hilft nur ein minimales kompilierbares Beispiel.
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Re: QNetworkAccessManager und Firewall

Beitrag von darkshine »

Hier ein kleines Beispiel.
Dateianhänge
webview.7z
(2.04 KiB) 129-mal heruntergeladen
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: QNetworkAccessManager und Firewall

Beitrag von ScyllaIllciz »

Ich habe hier auf einem Win XP getestet. Firewall so eingestellt, dass keine Ausnahme zugelassen werden. Die Ausgabe "singleshot war erfolgreich" erscheint, wie erwartet!?

D.h. hier funktioniert es!
darkshine
Beiträge: 102
Registriert: 20. August 2010 11:39

Re: QNetworkAccessManager und Firewall

Beitrag von darkshine »

Danke für den Test

Hat sich denn die Firewall bei dir "gemeldet" und gefragt ob du eine Verbindung zulassen möchtest?
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: QNetworkAccessManager und Firewall

Beitrag von ScyllaIllciz »

Nein, ich habe ja angewählt "Keine Ausnahmen zulassen"!
Antworten