# ServerSocket - Socket Verbindungsart



## Destify (26. Jun 2017)

Sehr geehrte Community, 

ich habe ein Chat-System geschrieben, welches aus einem Server und x vielen Clients besteht und durch ServerSockets und Sockets Verbindungen aufbaut. Das Lesen und schreiben ist durch Threads geregelt.

Nun meine frage wenn ein Client eine Verbindung zum Server aufbaut, eine Nachricht schreibt und der Server diese Nachricht an alle schon verbundenen Clients schickt. Ist das dann eine TCP oder eine UDP Verbindung? 

Theoretisch ist es ja kein Broadcast da die Nachricht gezielt an die Clients verschickt wird und nicht einfach an alle die Verbunden sind. Da bei jeder neuen Verbindung zum Server ein neuer Socket für den Client im Server erstellt wird. 

Hoffentlich könnt ihr mir meine Frage beantworten


----------



## mrBrown (26. Jun 2017)

Kommt ganz drauf an, welches von beiden du nutzt - das ist mit beiden möglich.
Dein Chat-System ist deutlich hight-leveliger, ob die Nachricht an alle Clients oder einzelne und wie genau die gesendet wird ist unabhängig vom Protokoll


----------



## Meniskusschaden (26. Jun 2017)

Destify hat gesagt.:


> Nun meine frage wenn ein Client eine Verbindung zum Server aufbaut, eine Nachricht schreibt und der Server diese Nachricht an alle schon verbundenen Clients schickt. Ist das dann eine TCP oder eine UDP Verbindung?


Wenn die Klassen Socket/ServerSocket benutzt werden, ist es TCP, wenn DatagramSocket verwendet wird, ist es UDP.



Destify hat gesagt.:


> Theoretisch ist es ja kein Broadcast da die Nachricht gezielt an die Clients verschickt wird und nicht einfach an alle die Verbunden sind. Da bei jeder neuen Verbindung zum Server ein neuer Socket für den Client im Server erstellt wird.


Ja. UDP bedeutet aber nicht zwangsläufig Broadcast, falls du das so gemeint hast. Bei TCP kann es meines Erachtens prinzipbedingt keinen Broadcast geben.


----------



## JuKu (27. Jun 2017)

Destify hat gesagt.:


> Nun meine frage wenn ein Client eine Verbindung zum Server aufbaut, eine Nachricht schreibt und der Server diese Nachricht an alle schon verbundenen Clients schickt. Ist das dann eine TCP oder eine UDP Verbindung?



Das eine hat mit dem anderen nichts zu tun.
UDP & TCP sind Verbindungsprotokolle zwischen 2 Rechnern.
Ich glaube mit Broadcast meinst du etwas komplett anderes...


----------

