vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: tcpClient Stream hängt?!? 
Autor: Preisser
Datum: 18.07.11 00:12

Hallo,

es kann natürlich passieren, dass die Write-Methoden blockieren, wenn keine Daten mehr gesendet werden können, da der Client diese nicht abholt, oder die Netzwerkverbindung zu langsam ist usw.

Eine Möglichkeit wäre, z.B., für jeden Client einen Thread erstellen, der nur das Senden erledigt (und evtl. beim Überschreiten einer bestimmten Menge an Daten, die noch nicht gesendet werden konnten, den Client trennt). Man könnte beispielsweise eine BlockingCollection<T> über eine ConcurrentQueue<t> verwenden, der man immer Sendeaufträge gibt, und der Sendethread holt diese dann ab und arbeitet sie sequentiell ab (bin mir aber nicht sicher, ob es in .Net auch andere/bessere Methoden dafür gibt).

Bei der Verwendung eines Threadpools bin ich mir nicht so sicher, da man dafür sicherstellen müsste, dass die Aufrufe der Write-Methoden threadsicher sind, da es ja passieren kann, dass 2 Threads des Threadpools gleichzeitig Write() aufrufen wollen. Vermutlich könnte es dann aber auch zu Race Conditions kommen und die Schreibreihenfolge wäre nicht mehr sichergestellt.

Beitrag wurde zuletzt am 18.07.11 um 00:33:23 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
tcpClient Stream hängt?!?1.599Daddaaff17.07.11 23:38
Re: tcpClient Stream hängt?!?1.032Preisser18.07.11 00:12
Re: tcpClient Stream hängt?!?1.060Daddaaff19.07.11 12:26
Re: tcpClient Stream hängt?!?1.030Preisser19.07.11 13:25
Re: tcpClient Stream hängt?!?1.211Daddaaff19.07.11 13:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel