Java Fundament für primitiven offline TCP Server

T

Tersus

Gast
Guten Abend,

es gibt für Java genügend Beispiele, wie man einen TCP-Server erstellt. Meine Fragen beziehen sich mehr auf die Voraussetzungen.
Wenn ich also einen TCP-Server habe, wie z.B. hier beispielhaft offen gelegt, kann ich dieses Programm dann einfach als Java Anwendung ausführen (Run as Java Application) oder muss ich das auf einer Server-Umgebung laufen lassen, wie WildFly oder Apache?

Und unter welcher IP lässt sich dieser simple Java-TCP-Server ansprechen?

Zuletzt noch die Frage, ob ich sowohl den Server, als auch einen Client quasi gleichzeitig mittels Eclipse debuggen kann.


Vielen Dank für eure Hilfe!
 
Wenn du direkt einen Socket benutzt funktioniert das ganze als normale Anwendung die du direkt startest. Die IP kann man beim Erzeugen des ServerSockets mit angeben (neben dem Port) wenn er nur auf einer speziellen IP hören soll, ansonsten ist er auf allen IP-Adressen des Rechners erreichbar.

Mit Eclipse kenn ich mich nicht weiter aus, denke aber da Client und Server ja getrennte Anwendungen sind das man auch 2 getrennte Instanzen der Entwicklungsumgebung benötigt um beides Debuggen zu können. Angabe aber ohne Gewähr, evtl. gibt es einen Weg das beides zusammen zu machen.
 
Das Beispiel hier geht auch ohne Application Server, ist allerdings auch extrem simpel. Normalerweise gibt man auf eine bind IP an auf welcher der Server "lauscht". Der Client verbindet sich auf localhost und natürlich kannst du beides debuggen.

Allerdings wirst du wahrscheinlich einen komplexeren Server benötigen, dazu gibt es genug Frameworks - je nachdem was du eben benötigst.
 
Na klar, localhost wird verwendet. :rolleyes: Hätte ich mir auch gleich denken können ...

Da habe ich die Anwendung / den Server versehentlich erneut ausgeführt, obwohl die/der laufende noch nicht terminiert war, und siehe da, eine Exception mit der Meldung, dass IP 127.0.0.1 bereits verwendet wird, erscheint. :)


Vielen Dank euch beiden!
 
Ohne Angabe einer IP wird nicht nur Localhost (127.0.0.1) verwendet, sondern alle verfügbare IP Adressen, also auch die Netzwerkinterfaces. Wenn es ausschließlich lokal erreichbar sein soll muss man das explizit angeben.
 
Zurück
Oben