File-Transfer (Client - Server) - Wirkliches Threading überhaupt möglich?

Jack159

Lieutenant
Registriert
Dez. 2011
Beiträge
766
Hi,

Ich habe mir überlegt, ob bei einem klassischen File-Transfer (Client-Server) Programm überhaupt richtiges Threading im Sinne von "Parallel" möglich wäre?

Edit:
Mit Threading meine ich hier im Beispiel, dass es pro "Datei senden" (bzw. Datei empfangen auf dem Server) einen seperaten Thread gibt.

Nehmen wir an ich habe 1 Clienten und 1 Server. Beide miteinander sind verbunden. Es besteht also extakt 1 Verbindung zwischen diesen beiden Teilnehmern. Wenn der Client nun 2 sehr große Dateien parallel verschicken möchte, dann wäre dies doch eigentlich nur so umsetzbar, dass diese 2 Dateien in einer Art Warteschlange erst nacheinander (Stichwort Thread Priorisierung) verschickt werden oder?
Also ein wirkliches parallele (bzw. ganz schnell abwechseln) der beiden Threads wäre doch garnicht möglich bzw nur mit extrem viel Aufwand, da bei einem Threadwechsel auf der Clientseite ja auch sofort ein Threadwechsel auf dem Server erfolgen müsste, da sonst die Threads Daten vom anderen Thread (bzw. der anderen Datei) empfangen?

Ich hoffe ihr versteht was ich meine :D
 
Ich habe mir überlegt, ob bei einem klassischen File-Transfer (Client-Server) Programm überhaupt richtiges Threading im Sinne von "Parallel" möglich wäre?

Ja ist es. Du verstehst Netzwerkprogrammierung nicht: du kannst mehr als eine Verbindung zwischen 2 Hosts machen. Und beim Multithreading bin ich mir auch nicht sicher.
 
Du musst Thread und Connection trennen.
Von beidem kannst du zwei oder mehr haben. I.d.R. gilt halt, je weniger desto besser.

Ein Thread kann mehr als eine Connection haben (siehe z.B. Node.js mit tausenden Connections und 1 Thread) oder aber mehrere Threads teilen sich eine Connection (mit Mutexe o.Ä.).

Willst du wirklich maximale Performance, dann kann man auch mit UDP und damit connectionless arbeiten.

Stichworte zur Programmierung sind epoll und select. Damit ist ein effizientes Programmieren möglich.
 
Zurück
Oben