Hello all, After some experiments and some (huge) line codes, I have some updates regarding this issue. I adopted TcpSrv example, I'm using TWSocketServer component and associated a new form for which client. In this way, each client updates the visual aspect of the form accordingly. I think this is the best option!? The results with 3 clients seems OK. I have some problems when I put the Sleep function in a client method, because the server stays blind to incoming data. Apart of that it is doing fine, Just one question: TWSocktetServer property Multithreaded is used for what? Thanks in advance Regards João
-----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de João Gonçalves Enviada: domingo, 6 de Abril de 2008 13:37 Para: 'ICS support mailing' Assunto: Re: [twsocket] small but pertinent doubt Thanks for the help. I you look into all these options and try to decide what's best. Regards, João -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wilfried Mestdagh Sent: domingo, 6 de Abril de 2008 11:05 To: ICS support mailing Subject: Re: [twsocket] small but pertinent doubt Hello João, No you do not need thread to implement some flow control. First of all you may not update visual controls from within a thread, so you have to execute all this code in main thread context as well. Oke you can do that by SendMessage or PostMessage. Then if you need to display a from per client, it is the same problem. All has to be done in main thread context. So I think you will make it complicate if you use threads. You have to write thread safe code and do all updates in main thread context. So for the update of the main form table. I don't know exacly what you are doing, but if you do as follow: - client connect and send some data or whatever - when data is received you temporary store it somewhere and you disable then enable a Timer. - in OnTimer you update the table and delete the temporary data from each client. This way table will update some time after a client, and when many clients are updating it will wait a little for the update. Of cours other approachs are also possible, this is just an idea. Hope this helps. --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Saturday, April 5, 2008, 19:33, João Gonçalves wrote: > Let me explain why do I (think I) need a thread per client. > I have a C++ builder app, with a main form, that has a table with the > information of the status of several clients. > When some client connects, it instantiates a new Form which is associated to > each client. I can view (and drag) this form along the main form. > The problem is: when a client is updating it status, on the main form's > table, if there is another client doing the same, the table goes crazy. I > think I have to use threads in order to introduce some flow control on the > mains form's table. > Am I thinking straight? > Thank you > João > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Wilfried Mestdagh > Sent: sábado, 5 de Abril de 2008 16:27 > To: ICS support mailing > Subject: Re: [twsocket] small but pertinent doubt > Hello João, > If it is not in the list then I have to open all example files to see > witch one. I know there is an example of running each client in > separated thread. > But are you sure you need a thread per client ??? > --- > Rgds, Wilfried [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > http://www.mestdagh.biz > Saturday, April 5, 2008, 09:42, João Gonçalves wrote: >> Hello, once more thank you for your answer. >> I was referring to that list, I can't find the specific example that you >> speak. Are you referring to TcpSrv? >> Thanks >> João >> -----Original Message----- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On >> Behalf Of Wilfried Mestdagh >> Sent: sábado, 5 de Abril de 2008 8:26 >> To: ICS support mailing >> Subject: Re: [twsocket] small but pertinent doubt >> Hello João, >> Here http://www.overbyte.be/eng/products/ics.html#ics_apps is a complete >> discreption of all example files. >> --- >> Rgds, Wilfried [TeamICS] >> http://www.overbyte.be/eng/overbyte/teamics.html >> http://www.mestdagh.biz >> Saturday, April 5, 2008, 09:15, João Gonçalves wrote: >>> Hello, >>> Jus tone more thing: can youn point me to that example? I can't seem to >> find >>> it:-( >>> Thank you, >>> João >>> -----Original Message----- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] On >>> Behalf Of Wilfried Mestdagh >>> Sent: sábado, 5 de Abril de 2008 0:38 >>> To: ICS support mailing >>> Subject: Re: [twsocket] small but pertinent doubt >>> Hello João, >>> As far as I recall is mtSrv an older example with a listening TWSocket >>> and creating data-TWSockets for the clients. So the example with >>> TWSocketServer is the way to go. >>> TWSocketServer is not multithread because it is not needed. It can >>> handle thousands of connections in main thread. But if you want you can >>> make separate thread for each client or for groups of clients if you >>> have for example lengthy code to execute. There is an example with >>> TWSocketServer also multitrheaded. >>> --- >>> Rgds, Wilfried [TeamICS] >>> http://www.overbyte.be/eng/overbyte/teamics.html >>> http://www.mestdagh.biz >>> Friday, April 4, 2008, 22:45, João Gonçalves wrote: >>>> Hello, thank you for the answer >>>> In the application that I developed, taking the base of TcpSrv, I use >>>> TWSocketServer, 2 questions: >>>> - Is this multithread? >>>> - Is it better than MtSRv? >>>> Thank you >>>> João >>>> -----Original Message----- >>>> From: [EMAIL PROTECTED] >>>> [mailto:[EMAIL PROTECTED] On >>>> Behalf Of Wilfried Mestdagh >>>> Sent: sexta-feira, 4 de Abril de 2008 8:29 >>>> To: ICS support mailing >>>> Subject: Re: [twsocket] small but pertinent doubt >>>> Hello João, >>>> Use TWSocketServer component wich handles all clients by itself. There >>>> are some example files. >>>> --- >>>> Rgds, Wilfried [TeamICS] >>>> http://www.overbyte.be/eng/overbyte/teamics.html >>>> http://www.mestdagh.biz >>>> Thursday, April 3, 2008, 23:17, João Gonçalves wrote: >>>>> Hello, >>>>> I developed an application in C++ Builder, based on the example TcpSrv. >>> It >>>>> works very well, for a single client. Im now trying to use several >>>> clients, >>>>> looking to the documentation, ICS has 2 examples: MtSrv and TnSrv, they >>>>> booth say that this should be used for a real world server. My > question >>>>> (doubt) is: what is more suitable to use? >>>>> Thank in advance >>>>> João >>>> -- >>>> To unsubscribe or change your settings for TWSocket mailing list >>>> please goto >>>> http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket >>>> Visit our website at http://www.overbyte.be >>> -- >>> To unsubscribe or change your settings for TWSocket mailing list >>> please goto >>> http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket >>> Visit our website at http://www.overbyte.be >> -- >> To unsubscribe or change your settings for TWSocket mailing list >> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket >> Visit our website at http://www.overbyte.be > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be