Ein Thread und viele Clients (IP/TCP)

Squicky

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.433
Hallo

Kann mir jemand ein paar Fachbegriffe und Stichworte mitteilen, damit ich möglichst genaue Informationen zu folgender Situation finde.

Es bestehen mehrere TCP Verbindungen zu mehren Clients. Es sollen aber alle TCP Verbindungen mit nur einem Thread bearbeitet werden.
Bis jetzt habe ich für jede TCP Verbindung einen Thread auf die Lauer gelegt, der auf neue Daten wartet und diese bearbeitet.

Es ist aber auch möglich, dass ein Thread auf Daten von mehreren TCP Verbindungen warte.
Kann mir jemand möglichst die genauen Fachausdrücke und Stichwörter nennen?

Danke

P.S: Es geht mir nicht um eine genaue Programmiersprache!
 
Ich bin mir jetzt nicht 100% sicher, aber sollte der TCPListener nicht ein Ereigniss haben ála "OnDataIncome" welches man abonnieren kann?
 
Du kannst die Daten ohne einen blockierenden Methodenaufruf versuchen zu lesen. Je nach Sprache wird dann 0 oder -1 oder sowas zurückgegeben, wenn keine Daten verfügbar waren bzw. ein ähnlicher Ergebniscode. Wäre halt ein ineffektiver Polling-Mechanismus.

edit: normalerweise schimpft sich das non-blocking call. Btw, nur so aus Interesse, wieso nur mit einem Thread?
 
Zuletzt bearbeitet:
Wenn du in C oder C++ unterwegs bist, schau dir mal die select()-Funktion an. Unter Windows kannst du sogar "I/O completion ports" verwenden ... das dürfte für dieses OS wohl bei weitem die effizienteste / performanteste Lösung sein.
 
Zurück
Oben