Socket IP-Adresse

mathiasj

Bekanntes Mitglied
Hallo,
also um das erstmal klarzustellen - ich habe gestern das Kapitel über Netzwerkprogrammierung un meinem Buch beendet und hätte nun eine Frage.

Ich erstellte, wenn ich einen Server schreibe ein ServerSocket. Dem Konstruktor muss ich die IP-Adresse und den Port übergeben. Wenn ich dann den Client schreibe, muss ich beim Erstellen des Sockets dieselbe IP-Adresse wie beim ServerSocket angeben. Ich hoffe, dass das soweit richtig ist.
Der Port muss doch irgendeine Zahl zwischen 1023 und 65535 sein, da der Rest doch für die Well-Known-Services reserviert ist?
Aber, was muss ich bei der IP-Adresse angeben? In meinem Buch hat man immer nur 127.0.0.1 für den Localhost eingegeben. Wenn man nun aber einen "echten" Server schreibt, muss man sich dann einfach eine IP-Adresse ausdenken, die man dann sowohl dem ServerSocket als auch dem normalen Socket übergibt?
 
M

Marcinek

Gast
Ein ServerSocket kann nur auf einer seiner zugewiesenen IPs einer der NICs horchen.

Du kannst dir da nix aussuchen. Wenn du mehrere IPs hast, dann kannst du den ServerSocket zu einer spezifischen binden.

Gruß,

Martin
 

mathiasj

Bekanntes Mitglied
Hm...
Ich meine, wenn ich sage ServerSocket sock = new ServerSocket(127.0.0.1, 4242), dann übergebe ich dem ServerSocket doch die IP-Adresse 127.0.0.1, oder?
Diese IP-Adresse steht doch jetzt für den Localhost, wenn ich jetzt aber einen echten Server erstellen will, was soll ich dann im Konstruktor von dem ServerSocket, als auch von den Sockets, die der Client benutzt, angeben?
 
T

tröööt

Gast
hmm ... warum in deinem buch überhaupt erklärt wird den local-bind konstruktor von ServerSocket zu nutzen verstehe ich nicht ...

in aller regel nutzt man den einfachen konstruktor : "ServerSocket(int)" ... dann wird der socket an 0.0.0.0 gelegt und ist somit von allen NICs des servers aus erreichbar ...

und im client trägt man einfach die IP des servers ein : "Socket("IP oder DNS des Servers", int)"

wenn man schon den local-bind nutzt dann muss man natürlich die IP des NIC angeben auf dem der server dann warten soll ...

hat also dein server ein NIC mit z.b. "123.45.67.89" dann müsstest du dem konstruktor auch dies übergeben : "ServerSocket("123.45.67.89", 12345)" ... und dann im client einfach dorthin connecten ...

wirklich sinn macht das eigentlich meist eher weniger ... kann aber bei falsch-angabe zu fehlfunktionen führen ... oder dazu das keine verbindung zu stande kommt ...


*sehr merkwürdiges buch*
 

mathiasj

Bekanntes Mitglied
Also mein Buch ist "Java von Kopf bis Fuß"...
Vielleiht ist das, was du agesprochen hast erst nach Java 5 herausgekommen?

Du meinst also ich sollte new ServerSocket(Port) und (für den Client) new Socket(externe IP - Adresse, Port) sagen?
 
T

tröööt

Gast
naja ... "java von kopf bis fuß" soll eh nicht so das gelbe vom ei sein ... würde mich also nicht darauf verlassen was da alles so drin steht ... es gibt deutlich bessere werke ...

natürlich ist es besser einen serversocket an ein bestimmtes NIC zu binden ... aber in aller regel eher überflüssig so lange nicht mindestens ein zweites NIC im system verbaut ist (oder halt VPN software und virtuelle NICs) ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
P IP-Adresse von Drahtlos-LAN-Adapter WLAN Netzwerkprogrammierung 1
M Fritzbox Mac Adresse Hinzufügen Netzwerkprogrammierung 2
Java_RY Die IP-Adresse des Eigenen Hostes ausgeben Netzwerkprogrammierung 4
O HTTP IP Adresse verschleiern Netzwerkprogrammierung 19
O HTTP IP Adresse verschleiern Netzwerkprogrammierung 5
O Ip Adresse verschleiern Netzwerkprogrammierung 3
N Multicast Adresse herausfinden des PCs Netzwerkprogrammierung 11
G ServerSocket.accept() überschreibt IP-Adresse Netzwerkprogrammierung 4
H Eine Mac-Adresse übers Internet ermitteln Netzwerkprogrammierung 2
P IP-Adresse per Hand einstellen Netzwerkprogrammierung 11
Kr0e Netty3 + Localhost Adresse, Durchsatzdrosselung ? Netzwerkprogrammierung 6
C Mac-Adresse des Systems Netzwerkprogrammierung 2
B Globale IP-Adresse auslesen - Java Applet Netzwerkprogrammierung 2
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
B Lokale IP Adresse bestimmen Netzwerkprogrammierung 12
G IP Adresse vergeben Netzwerkprogrammierung 18
T Mac Adresse über Socket Verbindung abfragen? Netzwerkprogrammierung 9
M Bestimmung der Netzwerkklasse mittels IP-Adresse Netzwerkprogrammierung 3
T IP Adresse mit Hilfe der MAC Adresse ermitteln Netzwerkprogrammierung 3
W Bestimmt IP Adresse verwenden wenn man mehrere hat Netzwerkprogrammierung 5
C MAC Adresse Netzwerkprogrammierung 5
G Eigene IP-Adresse hinter Router ermitteln Netzwerkprogrammierung 1
zilti IP-Adresse Netzwerkprogrammierung 10
J Prüfen, ob IP-Adresse gültig ist Netzwerkprogrammierung 5
J Socket - Remote/Client Mac-Adresse? Netzwerkprogrammierung 3
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
F IP-Adresse auslesen Netzwerkprogrammierung 7
M Eigene IP-Adresse Netzwerkprogrammierung 37
O IP adresse ermitteln Netzwerkprogrammierung 11
K IP Adresse erhöhen Netzwerkprogrammierung 4
S wie finde ich die ip adresse vom client heraus? Netzwerkprogrammierung 16
Z Physikalische Adresse der Netzwerkkarte Netzwerkprogrammierung 4
I IP Adresse des Clients einer Socket Verbindung Netzwerkprogrammierung 2
bernd IP Adresse Netzwerkprogrammierung 13
D DynDNS-Adresse ändert sich während Server pollt Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben