Socket Server

Status
Nicht offen für weitere Antworten.

maxxi

Bekanntes Mitglied
hello :meld:

Ich hätte da eine Verständnisfrage. Bei mir funktioniert etwas, ich weiß aber nicht, warum es funktioniert.

Server:
Ich habe einen total simplen Java-Socket-Server gebastelt, der auf Port 1024 lauscht. Er nimmt alle Requestdaten entgegen und liefert sie wieder zurück. Also wie ein echo-Server. Ganz simpel. Das Java-Programm liegt in einem beliebigen Unterverzeichnis auf meinem PC. Gestartet wird es mit: java Server 1024

Client:
Ein Client (Programmiersprache egal, in meinem Fall PHP) baut eine Socket-Verbindung zu diesem Java-Socket-Server auf. (Mein PHP-Programm liegt auf meinem PC im htdocs vom XAMPP ... aber das ist hier eigentlich egal.)

Ich verwende Windows (und XAMPP für meinen in PHP programmierten Socket-Client).

Wenn nun der Client einen Request startet, wieso findet er dann den Server?
Mein Request schaut folgendermaßen aus: http: //localhost Port 1024.
Wie findet dieser Request das Java-Programm, das in einem beliebigen Unterverzeichnis liegt? ???:L
 
Zuletzt bearbeitet:

Arbon

Bekanntes Mitglied
Falls ich deine Frage richtig verstanden habe:

Er findet den Server über den Port. Der Server lauscht ja auf dem Port 1024, und wenn du jetzt mit dem Client eine Anfrage an diesem Port stellst, dann bekommt der Server dies mit. das localhost bedeutet, dass er die Anfrage an deinen Computer stellt, und nicht zB auf einen Server im Netz.
 

maxxi

Bekanntes Mitglied
Aber wie findet der Request, den der client abgesetzt hat, das Java-Programm? Interessanterweise ist es egal, wo ich dieses Java-Programm abspeichere. Obwohl der Request immer gleich ist, findet er das Java-Programm immer. Aber wie ist das möglich?
 

Arbon

Bekanntes Mitglied
wie schon gesagt, über die ports.

kann man sich jetzt ganz einfach vorstellen, also ob das eine art tür wäre, hinter der das java programm ist wenn es lauscht. wenn du jetzt zu diesem port den request schickst, dann geht dieser durch diese tür zum java programm.

Wo das Programm liegt, ist in dem Falle egal, da die Kommunikation eben über die Ports stattfindet.
 

maxxi

Bekanntes Mitglied
Jede Tür muss irgendwo montiert sein. Es muss also ein Haus geben. Ist Windows dieses Haus? Signalisiert das Java-Programm Windows irgendwie, dass in einem gewissen Verzeichnis ein Programm ist, das auf einen bestimmten Port lauscht? Und wenn der Request kommt, leitet Windows diesen Request dann weiter?

Klinkt sich das Java-Programm irgendwie in Windows ein? Und Windows weiß dann, wo das Java-Programm liegt und arbeitet dann damit?
 
Zuletzt bearbeitet:

Arbon

Bekanntes Mitglied
Ja die Ports werden vom Betriebssystem verwaltet.
Es funktioniert nicht über Programmpfade, sondern soviel ich weiss über die Prozesse (wenn dein Programm läuft, ist es auch ein Prozess).

Über die genaue Funktion davon braucht man sich als Java-Programmierer keine gedanken machen, da dies wie gesagt vom Betriebssystem verwaltet wird.
 

maxxi

Bekanntes Mitglied
Wenn ich wissen will, wie das wirklich abläuft, sollte ich also in einem Windows-Forum nachfragen, oder?

EDIT:

Oder könnte man das jetzt so formulieren:

1) Ich starte das Java-Programm
Daraufhin wird in Windows ein Prozess gestartet.
Windows weiß, wo das Programm liegt.

2) Es kommt ein Request über einen bestimmten Port rein.
Windows schaut bei den Prozessen, ob irgendeiner auf diesem Port lauscht.
Auf welchem Port das Java-Programm lauscht, signalisiert Java Windows mittels eines ServerSocket-Objekts.

3) Windows findet den Prozess und leitet den Request an das Java-Programm weiter.

Könnte man das so für einen Windows-Laien zusammenfassen?
 
Zuletzt bearbeitet:

Arbon

Bekanntes Mitglied
Naja, Ports haben eigendlich mehr mit Netzwerktechnik zu tun. In einem Windows Forum ist das glaube ich nicht so gut aufgehoben, ich denke nur die wenigsten Benutzer wissen was eigendlich "unter der Haube" steckt.

Am besten einmal Wikipedia / Google befragen.
 

maxxi

Bekanntes Mitglied
Also ich glaube, das mit diesem "Prozess" war auf jeden Fall mal ein guter Tip. Ganz offensichtlich spielt Windows eine wichtige ... hm ... "Vermittlerrolle". Es arbeitet die Prozesse ab und mein Java-Server fühlt sich angesprochen und arbeitet den Request ab. Ich glaube, so kann man sich das ganz gut vorstellen :)

Das reicht mir eigentlich schon.

Danke :)
 

Painii

Bekanntes Mitglied
1) Ich starte das Java-Programm
Daraufhin wird in Windows ein Prozess gestartet.
Windows weiß, wo das Programm liegt.
Wo das Programm auf deinem Rechner liegt ist ab hier nichtmehr wichtig (solang du nicht dateien lesen willst).
Du kannst ja jedes Programm aus jedem Pfad starten, nicht nur diesen Server.

Solange das Programm nun läuft macht es halt was wenn requests auf den port kommen, wie oben beschrieben.

Wenn dein java-programm nur auf dem rechner liegt und nicht gestartet ist - dann passiert auch nichts wenn auf dem port requests ankommen (auch wenn das Programm irgendwo auf deinem Rechner liegt - solang es nicht gestartet wurde macht es nichts).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Socket ---> Server Socket worauf muss ich achten? Java Basics - Anfänger-Themen 2
I Allgemeine fragen zu Socket server Java Basics - Anfänger-Themen 6
ven000m Wieso antwortet mein Server nicht mehr (Socket Anwendung) Java Basics - Anfänger-Themen 2
izoards Socket Kommunikation Java Basics - Anfänger-Themen 16
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
G Socket Verbindung aufbauen Java Basics - Anfänger-Themen 11
S Bilder über Socket Senden Java Basics - Anfänger-Themen 1
S Asynchrone Socket-Abfragen Java Basics - Anfänger-Themen 5
Meeresgott OOP Socket Verbindung richtig Kapseln Java Basics - Anfänger-Themen 0
O Socket by reference übergeben Java Basics - Anfänger-Themen 0
J Socket schließen - Ist eine SocketException unumgänglich? Java Basics - Anfänger-Themen 4
N Socket-Programmierung Java Basics - Anfänger-Themen 4
M wait/notify bei Socket Java Basics - Anfänger-Themen 4
B Input/Output Socket I/O - outputStream.write(-1) Java Basics - Anfänger-Themen 2
B Socket OutputStream Java Basics - Anfänger-Themen 17
B Socket Kommunikation in beide Richtungen Java Basics - Anfänger-Themen 12
B Socket, args Java Basics - Anfänger-Themen 22
L Socket in JTextArea Java Basics - Anfänger-Themen 9
T Input/Output Zwei InputStreams von einem Socket Java Basics - Anfänger-Themen 2
B Socket Problem Java Basics - Anfänger-Themen 3
T socket.close aber verbindung besteht noch Java Basics - Anfänger-Themen 4
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
E Socket InputStream "terminiert" nicht Java Basics - Anfänger-Themen 4
B Threads Interrupt während Socket.read()? Java Basics - Anfänger-Themen 3
M Versand von Nachrichten via Socket (Delay) Java Basics - Anfänger-Themen 21
F socket-problem Java Basics - Anfänger-Themen 6
E Input/Output Socket bekommt keine Verbindung bei funktionierendem Fremdziel Java Basics - Anfänger-Themen 2
E Socket (Client) dauerhaft aktiv? Java Basics - Anfänger-Themen 9
D Java - Socket - Datenübertragung Java Basics - Anfänger-Themen 18
E Input/Output einfachen Socket für XML-Anfragen bauen Java Basics - Anfänger-Themen 13
R Cannot find a free socket for the debugger Java Basics - Anfänger-Themen 6
F Socket Kommunikation Java Basics - Anfänger-Themen 4
M "Connection reset" gbxRemote Socket Java Basics - Anfänger-Themen 9
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
L FTP per Socket Java Basics - Anfänger-Themen 2
M Audio Stream läuft auf :connection abort: socket write error Java Basics - Anfänger-Themen 2
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
N Socket Problem? Java Basics - Anfänger-Themen 9
G Socket erstellen dauert sehr lange. Java Basics - Anfänger-Themen 4
H Java Socket Java Basics - Anfänger-Themen 14
A XML Daten über Socket Java Basics - Anfänger-Themen 3
C Socket Programmierung Java Java Basics - Anfänger-Themen 4
F Socket Instanz auf Klasse welche von Socket erbt zuweisen Java Basics - Anfänger-Themen 3
J Daten von einem (char*)Socket einlesen. Java Basics - Anfänger-Themen 3
S Java Socket Java Basics - Anfänger-Themen 3
K Frage zu SdtOut streams bzw. Socket Programmierung Java Basics - Anfänger-Themen 3
M HTTP-Anfragen und Socket Java Basics - Anfänger-Themen 2
A von Socket-Stream lesen Java Basics - Anfänger-Themen 4
M Ändern einer Socket-Eigenscheft aus einem modalen Dialog? Java Basics - Anfänger-Themen 6
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
A Server - Client Nachrichtenaustausch über Eventbus Java Basics - Anfänger-Themen 12
FireHorses Benutzernamen aus PrivateChannel(Interaction) auf Server bringen Java Basics - Anfänger-Themen 0
HolyFUT Best Practice Architektur WebSocket Server Java Basics - Anfänger-Themen 1
S Server Java Basics - Anfänger-Themen 4
S Server Java Basics - Anfänger-Themen 3
D Verbesserungsvorschläge zur Struktur einer Client Server Desktop Chat App Java Basics - Anfänger-Themen 24
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
M CS GO Server mit Java steuern Java Basics - Anfänger-Themen 3
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
B DHCP-Server Adresse ermitteln Java Basics - Anfänger-Themen 4
A Client-Server Kommunikation Java Basics - Anfänger-Themen 3
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
W Netwerkprogrammierung und Http Server Java Basics - Anfänger-Themen 10
S Server - für jeden Client ein Serverthread Java Basics - Anfänger-Themen 2
G sql server connection mit windows authentication Java Basics - Anfänger-Themen 2
N Erste Schritte Dedicated Server \ Senden und Empfangen von Daten/Befehlen Java Basics - Anfänger-Themen 2
L Erste Schritte Erste Versuche mit Server und Client Java Basics - Anfänger-Themen 7
elischa Client-Server IO und Stream Steuerung ? Java Basics - Anfänger-Themen 2
U Erste Schritte Server will nicht übergebenes Objekt speichern Java Basics - Anfänger-Themen 5
B IP Adresse von Wildfly Server Java Basics - Anfänger-Themen 1
cezary Server läßt sich nicht starten Java Basics - Anfänger-Themen 2
J Java Server Pages - Verständnisfrage Java Basics - Anfänger-Themen 2
I Print Client -> Server -> Client? Java Basics - Anfänger-Themen 1
I lokales Programm mit Client/Server Programm kommunizieren Java Basics - Anfänger-Themen 3
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F String zu einem Server senden Java Basics - Anfänger-Themen 4
N Server Zeit zur lokalen Zeit setzen. Java Basics - Anfänger-Themen 0
J TCP MultiThreaded Server und Client - irgendwo ist der Fehler, aber ich find ihn nicht Java Basics - Anfänger-Themen 3
I ical - Datei auf Server ablegen und Kalender abbonieren Java Basics - Anfänger-Themen 0
T Eclipse - GlassFish Server!? Java Basics - Anfänger-Themen 1
I Java Server Faces mit Glassfish Webseite veröffentlichen Java Basics - Anfänger-Themen 4
M Input/Output tcp-Server mit statischer Parallelität Java Basics - Anfänger-Themen 7
G Multiple Clients and one Server Java Basics - Anfänger-Themen 2
K Java Client > Python Server Java Basics - Anfänger-Themen 0
F jabva 7.21 läuft nicht auf windows server 2012? Java Basics - Anfänger-Themen 9
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
I JDK SERVER -jar stoppen Java Basics - Anfänger-Themen 5
Screen Wie Propertydatei im Server beschreiben? Java Basics - Anfänger-Themen 7
K threaded server Java Basics - Anfänger-Themen 18
E Client Server Java Basics - Anfänger-Themen 12
Q Datenbank nicht über separaten Server Java Basics - Anfänger-Themen 4
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
L Chat server Java Basics - Anfänger-Themen 4
O Server Client Problem Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben