Java wie kann sich jemand mit meinem PC verbinden?

4 Antworten

Ersteinmal musst du die entsprechendne Ports in der Firewall deines PCs und deines Routers freigeben. Danach kannst du dann unter Zuhilfenahme der passenden IP-Adresse eine Verbindung aufbauen.

Die IP-Adresse gibst du wiefolgt an:

InetAddress.getByAddress(ip_address_bytes);

Wobei "ip_address_bytes" schlicht eine Byteweise codierung der IP-Adresse ist, das sollte trivial sein bei IPv4-Adressen,d ie ja sowieso Byteweise angegeben werden.

Butzti 
Fragesteller
 09.01.2022, 16:33

Also zum Beispiel so?
Client client = new Client(InetAddress.getByName("193.167.55.1"), 1337);

1
Destranix  09.01.2022, 16:35
@Butzti

Ne, eher so:

byte[] ip_address_bytes = new byte[4];
ip_address_bytes[0] = 193;
ip_address_bytes[1] = 167;
ip_address_bytes[2] = 55;
ip_address_bytes[3] = 1;
Client client = new Client(InetAddress.getByAddress(ip_address_bytes, 1337); 
0
Butzti 
Fragesteller
 09.01.2022, 16:36

aah okay, danke

1

Das ist einfach und kniffelig :)

Du kannst als erstes erstmal auf dem Server Socket das localhost durch 0.0.0.0 tauschen, das bindet den Server Socket dann an alle lokalen Interfaces und nicht nur auf localhost.

Jetzt kannst Du von einem anderen Rechner im gleichen Netzwerk (sprich hinter deinem Router) ansprechen, dazu brauchst die natürlich die IP des Rechners.

Von außerhalb brauchst Du dann noch wenn möglich einen Portforward in deinem Router auf die interne IP. Da sich aber die öffentliche IP permanent ändert im Normalfall (alle 24h bei DSL mach Zwangstrennung) ist das unpraktisch. Hier hilft DynDNS - ein dynamischer DNS Dienst der einen Namen auf die aktuell gültige IP auflöst. Das können viele Router automatisch.

Aber: Portforwarding und DynDNS sind von Natur aus sicherheitskritisch.

Hallo da gibt es ein Programm das nennt sich TeamViewerQS11 das musst vDu und dein Kumpel hochladen danach öffnest du das Programm und teilst deinem Kumpel die Nummer mit wo bei dir dann erscheint oder dein Kumpel seine Nummer dann kann der andere auf deinem PC arbeiten oder Du auf seinem

Woher ich das weiß:eigene Erfahrung

dyn dsn holen , und portforwarding auf dein rechner . wenn das überhaupt dns zulässt im server . ansonsten zum testen deine öffentliche/oder loaklnach NAT ip eintragen (ist halt die frage was das protokoll so annimt ) , da die wechselt geht das nicht für ewig . entsprechend dem client dann die ip mitteilen .