[VB.net] Anwendung hängt, sobald sie auf das Internet zugreifen will!

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Ceytec.

    [VB.net] Anwendung hängt, sobald sie auf das Internet zugreifen will!

    Hallo liebe Community!
    Seit kurzem habe ich ein sehr seltsames Problem!
    Genauer: Seit heute!
    Und zwar:
    Meine Anwendung startet ganz normal ohne einen Freeze Effekt!
    Aber sobald er dann zB Google.com anpingen will, hängt die Form plötzlich!
    Gestern hat alles prima geklappt! Und heute plötzlich nicht mehr!
    Ich weiß, dass es am Internet Zugriff liegt, da ich dann mal testweise alles,
    was mit dem Internet zu tun hatte mal als Notiz gekennzeichnet habe und da funktionierte
    alles wunderbar!

    Einer dieser Timer, die auf das Internet zugreifen (hier ein Timer, der den Ping darstellt):

    VB.NET-Quellcode

    1. Private Sub ping_Tick(sender As Object, e As EventArgs) Handles ping.Tick
    2. Dim ping As New Ping
    3. Dim rp As PingReply
    4. rp = ping.Send("www.google.com")
    5. pingtxt.Text = rp.RoundtripTime
    6. If pingtxt.Text < 50 Then
    7. pingtxt.ForeColor = Color.Green
    8. ElseIf pingtxt.Text >= 50 Then
    9. pingtxt.ForeColor = Color.Orange
    10. ElseIf pingtxt.Text > 100 Then
    11. pingtxt.ForeColor = Color.Red
    12. End If
    13. If pingtxt.Text > 1000 Then
    14. pingtxt.Text = "Ping is to high!"
    15. End If
    16. End Sub


    Alles funktionierte bis gestern einwandfrei! Ich habe
    soweit ich weiß die aktuellste Framework Version!
    Meinen Rechner habe ich ebenso schon neugestartet, da mein
    Rechner öfter mal rumbuggt und ich vllt dachte, dass es daran gelegen haben könnte.
    Aber nein... Alles freezt, sobald irgendwas auf das Internet zugreifen will!
    Bitte um schnelle Hilfe!

    P.S: Keine Kommentare zum Timer Source.. Ich weiß, dass der unsauber ist!
    Aber ich habe momentan andere Probleme :/

    LG :/

    Nachtrag:
    Ich habe eben mal eine Test Form gemacht, die einfach nur auf meinen FTP Server zugreifen soll!
    Sie lädt ungewöhnlich lange! Aber sie lädt letztendlich die Seite erfolgreich!
    Als ich dann versuchte den Link in meinem Hauptprojekt per STRG + Linksklick aufzurufen kam da nur:
    "Ungültiges Sicherheitszertifikat". Dann ging ich davon aus, dass vlt was mit meinem FTP Server nicht stimmen
    könnte, allerdings treten die genannten Probleme ja auch bei Google auf...


    Nachtrag 2.0
    Gerade kam eine "Sicherheits Zertifikat" - Meldung!
    Als ich dann ein "neues" Zertifikat "erfolgreich" importiert hatte,
    zeigte sich zwar eine kleine Besserung, trotzdem lädt die Seite noch ewig!

    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Ceytec“ ()

    Würde ich ja liebend gerne.. Aber gerade startet die Anwendung nicht mal, da der Internet Zugriff direkt am Anfang statt findet!
    Halt Moment!
    Jetzt hat es geladen! OK Moment! Füge ein Try Catch hinzu!
    (Es freezt gerade immer noch trotz "neuem" Zertifikat!)

    5 Minuten später...
    Ich habe ein Try Catch hinzugefügt aber die Anwendung möchte gerade nicht starten!

    6 Minuten später...
    Jetzt ist sie gestartet es kommt allerdings keine ex.Message!
    Sie freezt auch nicht so richtig sondern hat halt so ca 1 Frame per Second!
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    1. Welches Intervall hat dein Timer?
    2. Könntest du bitte versuchen nicht mit Texten zu rechnen. Das ist ja schrecklich. Ich meine damit z.B. Ping.Text < 10, das ist ganz schlechter Stil
    3. Anstelle von so vielen ElseIF ist ein Select Case schöner.
    4. Zeig bitte mal deinen Code mit Try-Catch
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    1. Interval = 1000, da jede Sekunde der Ping aktualisiert werden soll.
    (jetzt kommt nicht mit "mach das niedriger: Alles schon getestet! Ändert nichts am Freeze!)

    2. Ich rechne da Garnichts!
    Ich checke nur wie groß die angezeigte Zahl ist, da ich dort die Farbe ändere!
    Und bitte versuch, wenn im P.S steht, dass ich selbst weiß, dass der Source unsauber ist,
    nicht noch weiter zu kritisieren. Danke!

    3. Code, der direkt zum Anfang auf Google zugreifen will:

    VB.NET-Quellcode

    1. Try
    2. My.Computer.Network.Ping("google.com")
    3. o_s.Text = "Internet active!"
    4. o_s.ForeColor = Color.Green
    5. o_s_p.Image = My.Resources.green1
    6. ping.Start() 'Der eben gezeigte Timer
    7. Catch ex As Exception
    8. MsgBox("Error:" & vbNewLine & ex.Message)
    9. o_s.Text = "Internet inactive!"
    10. o_s.ForeColor = Color.Red
    11. o_s_p.Image = My.Resources.red
    12. End Try


    ​Der Code soll eigentlich nur schauen, ob der Nutzer Internet hat!
    ​Selbst, wenn ich den Ping Timer mal raus nehme, merkt man, wenn
    ​der CheckOnlineState() Check auf Google zugreift (dh: großer Ruckler am Anfang)!
    ​Wenn ich den Check komplett raus mache, merkt man am Anfang nämlich nichts!
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ceytec“ ()

    Ceytec schrieb:

    Ich checke nur wie groß die angezeigte Zahl ist

    Nein das machst du nicht. Du prüfst ob der Text (der zufällig eine Zahl enthält oder auch nicht) größer oder kleiner einer Zahl ist. Wenn das nicht rechnen ist weiß ich auch nicht.

    P.S. sowas hat nichts mit "unsauber" zu tun, das macht man einfach nicht. Auch nicht mal eben so.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Dein Programm "hängt" so lange, bis ping.Send("www.google.com") fertig ist. Kann man verbessern, indem man das in einen einen neuen Thread auslagert. Hierzu würde sich wohl
    await System.Threading.Tasks.Task.Run(Sub() rp = ping.Send("www.google.com"))

    anbieten. Die Methode müsste dann als "async" gekennzeichnet werden.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @Schamash etwas zu "prüfen" ist nicht = rechnen.

    @mrMo Danke für den Tipp! Aber warum kommt dieses Problem erst heute?
    Und warum kommen seit heute plötzlich Zertifikat Meldungen ab und zu?

    ​Nachtrag
    ​Tipp ist vermutlich nicht die Lösung!
    ​Da auch mittlerweile andere Projekte von mir freezen, sobald
    ​sie auch nur im WebBrowser navigieren sollen (also kein Ping).
    ​So was ist bei mir noch NIE passiert D:
    What the hell?

    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ceytec“ ()

    @Ceytec und dennoch vergleichst du Äpfel mit Birnen.
    Ein Text ist keine Zahl! Ob du einen "<" jetzt "Rechenoperation" nennst oder "Vergleich", ist völlig dabei egal.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Könnten wir uns BITTE mal dem Problem zuwenden??
    Du verstehst wohl nicht, wie wichtig das gerade ist! Ich habe zudem
    rausgefunden, dass dieses "Handicap" nicht nur in meinen VB Anwendungen ist (langsames Laden)
    sondern auch mittlerweile in gelinderter Form in meinem normalen Internet Browser auftritt!
    In meiner Test Form lädt der WebBrowser zunächst verdammt lange. Sobald er geladen ist,
    kann er mit langen Wartezeiten weitere Anfragen bearbeiten!

    Ich weiß nicht mehr was ich machen soll!!
    >>BITTE<< widme dich jetzt mal dem Primär-Problem,
    bevor du weiter einen gerade extrem irrelevanten Fehler in meinem Timer
    kritisierst! Danke! Danach können wir das gerne ausdiskutieren!
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Gibt doch einfach mal in der Windows Consolt (cmd) deinen Ping befehl ein und prüfe wie lang die verzögerung ist.
    Betrifft das ganze nur deinen Rechner oder sind alle Internet verbindungen langsam?
    Hat dein Provider vielleicht gerade eine Störung?
    Hast du dir Maleware auf den Rechner geladen der deine Verbindung nun blockiert?
    Was hast du denn außerhalb deines Progamms getestet?
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ich denke, die Probleme kommen eher von wo anders. Allgemeine Internet Probleme evtl...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Folgendes:
    Ich habe gerade nochmal andere Anwendungen auf meinem Rechner gecheckt, die nicht von mir stammen!
    Die geben mir alle aus, dass ich keine "Internet-Verbindung" habe! Das kann aber nicht sein, da ich ja gerade an meinem
    Rechner hier ins Forum schreibe!
    Mein Ping im CMD ist folgendermaßen vonstatten gegangen:
    "Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust) Ca. Zeitangabe in Millisek. : Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms"
    Und zu "
    Betrifft das ganze nur deinen Rechner oder sind alle Internet Verbindungen langsam?
    ":
    Alle andere Geräte in meinem Netzwerk können ganz normal und schnell verbinden!
    Auch mein Smartphone! Nur mein Rechner ist das schwarze Schaf in der Herde!
    Zu "
    Was hast du denn außerhalb deines Progamms getestet?
    ":
    Server_Manager.exe
    InternetCheck.exe (by me)

    Ich denke, die Probleme kommen eher von wo anders. Allgemeine Internet Probleme evtl...

    Denke ich auch! Ich habe das Gebiet jetzt soweit eingegrenzt, dass es auf jeden Fall auf meinem Rechner sein muss!

    Hat vllt irgendwer eine Idee woran es liegen könnte?? Ich brauche DRINGEND eure Hilfe!

    +++ PROBLEM GELÖST! +++
    Ein alter Bekannter hat mir soeben einen Tipp gegeben!
    Mein AV-Programm hatte über Nacht ein Firewall Update gemacht,
    welches meine Verbindungen blockierte!
    Danke an TechnikClan!

    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Ceytec“ ()