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.