Hello, Dz.
 
  My application uses socket server for accepting connections to the clients 
and send them data. There is data that are sended to some clientes, but to 
others no. Every client, in the first step, sends data to the server for 
identificating the data that it will receive. 
  I believe that I need a thread for every client that encapsulates the 
reception of initial information and  the control over the last data sended. 
For this, in this moment, in the principal thread, when there is data, the 
clients are tested validating if this data are for them. If it is there, use a 
method in ThreadClient, for sending data with Socket.SendStr. 
I have:
  TThrdSrvClient = class(TWSocketClient)  public    ThreadClient : 
TThreadClient;    RcvdLine     : String;    ConnectTime  : TDateTime;  end;
for adding the client to socket server.
 
  What do you believe that i must use? TWSocketThrdServer or TWSocketServer?
 
I thank a lot your suggestions
 
Regards.
Ana.
> From: [EMAIL PROTECTED]> Date: Thu, 18 Oct 2007 06:20:46 -0400> To: 
> twsocket@elists.org> Subject: Re: [twsocket] TWSocketThrdServer> > > On Oct 
> 18, 2007, at 05:36, Ana Onarres wrote:> > > I am confused. Clients is the 
> property of TWSocketServer, not of > > ClientThread. ClientThread extends 
> TThread, for controling every > > connection, every client socket.> > Anne,> 
> I was talking about the TWSocketThrdServer, not the TWSocketServer, I > am 
> very sorry for the confusion. I thought that since you were > determined to 
> using threads, why would you not use the component that > was designed for 
> this, encapsulating all that the ThrdSrv_V1/V2 > examples show? The examples 
> for ThrdSrv_V1 and ThrdSrv_V2 where > written before TWSocketThrdServer was 
> made. ThrdSrv_V3 was then made > for the TWSocketThrdServer. Apparently the 
> interface of both > components is different and I am sorry for causing 
> confusion on this.> > I am not familiar with TWSocketServer in a 
> multi-threaded use, but the > demo applications show how to use it. To send 
> data to all the clients, > you must be aware of thread synchronization: each 
> client is running on > its own ClientThread, so it is not safe to access them 
> from the main > thread using the TWSocket.Clients collection. The first demo 
> shows > this, I believe, by sending the Welcome Banner from the main thread.> 
> > Are you absolutely sure that you need multiple threads for your > clients? 
> I encountered the same complexity a week ago and was finally > convinced that 
> my application did not need the multiple threads, and > switched to using 
> TWSocketServer on a single thread (my application > spawns a worker thread 
> for the server, but it runs within that > context), and everything became 
> easier and simpler -- yet its still > fast and able to cope with many 
> hundreds of concurrent clients. If > your clients need to do some very 
> extensive processing that may block > the rest of the clients, then perhaps 
> it would be better to have the > client itself spawn a worker thread to 
> perform the processing. That > way the synchronicity issues are contained 
> within the client, instead > of having to complicate the server with various 
> threads.> > > If the server has connected three clients, is there 3 
> TThrdSrvClient > > or 3 ClientThread?> > TThrdSrvClient is:> > There are 
> three of each: Three ClientThreads, each with one > TThrdSrvClient attached. 
> The TWSocketThrdServer component can handle > more than one client per 
> thread, so depending on your configuration, > all clients may be attached to 
> the same thread, or to different ones > (the default is one client per 
> thread).> > > Is there some help page over how to use the TWSocketServer?> > 
> I know this sounds trite, but the demo applications and the source > code, 
> are your best help. Not to mention this very list. There have > been various 
> documentation projects started in the past, and most of > them are available 
> from the OverByte web site, but none of them are > complete or comprehensive. 
> There is currently a Wiki project, but it > needs volunteers, and it is far 
> from completed. Of course, you are > welcome to contribute to the Wiki and 
> post instructions, samples, or > help topics based on your experiences. Just 
> contact Francois for an > account.> > dZ.> > -- > DZ-Jay [TeamICS]> 
> http://www.overbyte.be/eng/overbyte/teamics.html> > -- > To unsubscribe or 
> change your settings for TWSocket mailing list> please goto 
> http://www.elists.org/mailman/listinfo/twsocket> Visit our website at 
> http://www.overbyte.be
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to