![]() |
Nonblocking/Threadblocking?
ich mal wieder
also geht um die komponente tserversocket die ja die eigenschaft type hat hab mir schon mal die hilfe durchgelesen, aber wurde daraus genausowenig schlau wie von google und der forensuche wo genau is der effektive unterschied zwischen nonblocking und threadblocking? was hab ich davon dass die connections einzelne "threads" sind? und was wäre besser für eine anwendung die viel daten, teilweise gleichzeit hin und herschiebt? wäre nett wenn mri jemand kurz helfen könnte geht um nen onlinekartenspiel mt integriertem chat usw. thx p |
Re: Nonblocking/Threadblocking?
nonblocking funktioniert nicht mit streams.
|
Re: Nonblocking/Threadblocking?
Moin!
Zitat:
MfG Muetze1 |
Re: Nonblocking/Threadblocking?
probleme mit nonblocking socket bei TWinSocketStream
Laut Hilfe auch:
Delphi-Quellcode:
Hinweis: TWinSocketStream kann nicht in Verbindung mit nicht blockierenden Sockets eingesetzt werden.
|
Re: Nonblocking/Threadblocking?
Moin!
Ja und? Warum sollte man dieses nun auf die TCustomWinSockets verallgemeinern? Bei den normalen TServerSocket und TClientSocket funktionieren die Methoden einwandfrei und TCustomWinStream musst du ja selber instanziieren und benutzen - also einfach nicht benutzen. Deren Vorteil ist nicht so gross als wenn es sich lohnen würde... MfG Muetze1 |
Re: Nonblocking/Threadblocking?
kannst mir ja mal mit meinem thread-problem helfen ;)
|
Re: Nonblocking/Threadblocking?
Moin!
Zitat:
MfG Muetze1 |
Re: Nonblocking/Threadblocking?
hey hboy,
da streiten sich die jungs hier um des Kaisers Bart und vergessen das Eigentliche. Beim Threadblocking kann der Server-Socket Events entgegennehmen und dann die Verarbeitung an einen Thread je Client übergeben. Der Vorteil liegt auf der Hand, jeder Thread erledigt seine Arbeit und beendet sich dann selbst, während der Serverthread weiter Anforderungen annehmen kann. Gemeint ist also, das der Serverthread geblockt wird und Du die Daten in einer Rutsche einlesen kannst. Bei Non-Blocking kommt noch das Problem hinzu, das Server und Client für das Lesen und Schreiben von Daten selbst verantwortlich sind. Allgemein geht das dann nur mit einem Timer. Wenn die Anwendung also eher selten Daten empfängt oder Du möchtest nur auf das Tatsächliche auftauchen von Daten am Server reagieren, ist Threadblocking die erste Wahl. Gruß Hardy |
Re: Nonblocking/Threadblocking?
Zitat:
2. ![]() 3. gehört das nicht hier rein und deswegen schluss damit. |
Re: Nonblocking/Threadblocking?
habe dazu auch noch ne frage. Ok Threadblocking heist das jeder client im separaten thread behandelt wird.
Wenn ich type auf Threadblocking stelle passiert aber nichts, es wird kein connect kein read event aufgerufen nichts, was muss ich da machen? Muss ich hier in einem Thread abfragen ob neue daten da sind? Keinen plan.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz