Verbindung vom Remote-Computer aus nicht möglich

8

Ich habe ein Problem, und ich kann das nicht zu Hause überprüfen, ob es funktioniert oder nicht. Hier ist der Code

%Vor%

Ich habe auch ein einfaches Programm, um eine Verbindung herzustellen und dann eine Zeichenfolge mit Daten zu senden. Es funktioniert gut auf localhost, aber es gibt ein Problem, wenn ich versuche, mich mit einem anderen Kopierer zu verbinden.

Ich habe sogar die Firewall auf meinem PC und Router ausgeschaltet, wie ich es auf dem Laptop meines Freundes getan habe. Jedes Mal, wenn ich versuchte, eine Verbindung herzustellen, verweigerte sein Computer die Verbindung. Vielleicht mache ich etwas falsch?

Natürlich ist ipAddress jetzt eine lokale Adresse, da es momentan nur damit arbeitet. Irgendwelche Vorschläge was zu tun ist?

    
Allek 02.12.2009, 09:32
quelle

4 Antworten

12

Sie müssen es so einstellen, dass es Verbindungen von jeder IP-Adresse akzeptiert. Dafür gibt es eine IPAddress-Überlastfunktion:

%Vor%

verwenden Sie es anstelle von 127.0.0.1 und es wird Ihr Problem beheben.

    
NibblyPig 02.12.2009, 10:04
quelle
4

Sie hören auf 127.0.0.1, was die Loopback-Adresse ist, die eine spezielle Adresse ist, die "diesen Computer" bedeutet. Dies bedeutet, dass Sie nur Verbindungen akzeptieren, die auf demselben Computer ausgeführt werden, auf dem der Server ausgeführt wird.

Sie müssen eine (oder mehrere) der realen IP-Adressen des Servers abhören.

    
Len Holgate 02.12.2009 10:01
quelle
3

Ihr Problem besteht darin, dass das explizite Festlegen einer IP-Adresse beim Initialisieren des TcpListeners nur Verbindungen von dieser Adresse akzeptiert. Daher akzeptiert die Eingabe der lokalen Adresse 127.0.0.1 nur Verbindungen, die von Ihrem PC stammen.

Die Implementierung, die Sie verwenden möchten, ist wie folgt:

%Vor%

Damit können Verbindungen von jeder IP-Adresse mit dem Programm am angegebenen Port verbunden werden.

    
Smallgods 02.12.2009 10:03
quelle
1

Ich glaube, es ist Ihr Computer (der Server), der die Verbindung verweigert, weil 127.0.0.1 lokal (-nur) ist.

Versuchen Sie diese einfache Überladung:

%Vor%     
Henk Holterman 02.12.2009 09:48
quelle