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?
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.
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.
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%Tags und Links c# tcplistener connection tcpclient