8 Stimmen

Wie behebt man den Fehler "ein Verbindungsversuch ist fehlgeschlagen, weil die verbundene Partei nach Ablauf einer Zeit nicht ordnungsgemäß reagiert hat ..."?

Ich erstelle ein Spiel in C# und möchte den Fortschritt (Bewegungen usw.) des Gegners anzeigen. Daher sende ich Ereignisse im Spiel über das TCP-Protokoll an den Gegner.

Ich habe meine Anwendung bereits auf localhost ausprobiert und es funktioniert, aber wenn ich meine externe Adresse verwenden möchte, um über das Internet zu kommunizieren, erhalte ich den folgenden Fehler in der Klasse TcpInformer.Connect():

Ein Verbindungsversuch ist fehlgeschlagen, weil die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat oder die Verbindung aufgrund eines Fehlers des verbundenen Hosts fehlgeschlagen ist (meine externe IP-Adresse):(Port)

Ich dachte, das Problem sei, dass ich hinter NAT bin. Aber ich habe bereits Portweiterleitung für Port 49731 auf IP 10.0.0.1 eingerichtet und nichts hat sich geändert.

Meine zweite Vermutung war die Windows-Firewall, aber auch wenn ich die Firewall gestoppt habe, hat meine App nicht begonnen zu funktionieren.

Mein Code für die Verbindung der beiden PCs ist:

        TcpInformer peer;
        TcpHost server;

        public void PrepareConnection() // für den Server (Host)
        {
            playerType = PlayerType.One;
            server = new TcpHost(form, this);
            server.Start("10.0.0.1", 49731);
        }

        public void PrepareConnection2() // für den Client
        {
            playerType = PlayerType.Two;
            peer = new TcpInformer(form, this);
            peer.Connect("MEINE EXTERNE IP", 49731);
        }

Gibt es eine Möglichkeit zu überprüfen, was falsch ist? Hilfe wird sehr geschätzt!

1 Stimmen

Ich habe herausgefunden, was das Problem war. Ich habe auf 10.0.0.1 zugehört und versucht, meine externe IP (zweite Instanz meines Programms) zu erreichen, was auf einem Computer mit nur einer Internetverbindung unmöglich ist. Soll ich diesen Beitrag löschen?

0 Stimmen

Fügen Sie Ihre eigene Antwort hinzu, in der Sie die Lösung erklären, und markieren Sie sie als akzeptiert.

1 Stimmen

Bitte verlassen Sie diesen Beitrag. Es war hilfreich für mich.

7voto

Martin Vseticka Punkte 26325

Ich fand heraus, was das Problem war. Ich hörte auf 10.0.0.1 zu und versuchte, meine externe IP (zweite Instanz meines Programms) zu erreichen, was auf einem Computer mit nur einer Internetverbindung unmöglich ist.

0voto

Xin Punkte 27823

Ich hatte auch das gleiche Problem im AWS VPN.

Ich habe den proxy.company.com (externe IP) auf 10.0.0.5 geändert.

Und jetzt funktioniert es.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X