I do lengthy operations in another context/thread than the thread where the 
servers are. I'm just looking for better IO-performance. Currently I have one 
http-server and a https-server which is working in the same thread. The 
http-server have 1200 connections and the Https-server have 150 connections 
open. In total the servers serve about 100 requests pr second. In near future 
the traffic could increase. As I understand, I could benefit from spreading the 
http-server-work in a few more threads.

- I don't use critical sections now, all communications between the threads is 
done with posting messages. I think using a few more threads and just use 
windows messages to do this would be best. Is this right? How can I achieve 
this?
- I saw that there is content-coding (Z-lib) in HttpCli, is it working? In the 
source of httpsrv it says it is not working. Is there much work needed for it 
to work? Would I gain much performance with this feature enabled on the server?

Regards Bjørnar


Bjørnar Nielsen wrote:
> I'm using PostThreadMessage to send messages to my thread, but I want
> to interrupt messages that is intended to go to a WSocket-component.
>
> The reason is that I'm trying to make my HTTPSrv multithreaded. My
> idea was to intercept Do_FD_ACCEPT, pause the socket, send a custom
> message to another thread where I attach the socket and continue with
> Do_FD_ACCEPT. Is this a good way to achieve this? Or has anyone here
> achieved this in another way?

I think it is not easily possible like that, since the THttpServer is
not derived from TWSocketServer. IMO, it's easier to either apply a
similar method as shown in demo "ThrdSrv" (V5) or to use/write a
multi-threaded WSocketServer-class and to change three or four source
lines in the THttpServer so that FWSocketServer becomes multi-threaded.
You should also consider to just move lengthy tasks into worker
threads, for instance like it's practised in the TFtpServer for
calculating MD5 checksums from big files (search for
TClientProcessingThread). I prefer the latter, perhaps in
conjunction with a little thread pool.

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html



>
> Regards Bjørnar
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Arno Garrels
> Sent: 19. mars 2008 10:52
> To: ICS support mailing
> Subject: Re: [twsocket] Cathing window messages for HttpSrv
>
> Bjørnar Nielsen wrote:
>> I'm using the THttpSrv in a thread, and want to catch the windows
>> message to the server. How is this possible?
>
> It's safe to use PostThreadMessage() for those custom messages,
> however you must check for msg.Hwnd = 0 in your message pump
> otherwise you risk conflicts with the message-ID numbers ICS v6
> uses internally.
>
>>
>> My messagepump int the execute of the thread is like this:
>>
>> while(!Terminated && GetMessage(&msg, 0, 0, 0))
>>
>> {
>>
>>    switch(msg.message)
>>
>>    {
>>
>>        case WM_CUSTOM_SET_SERVER_SETTINGS:
>>
> [..]
>
>> How can I catch FD_ACCEPT and other messages and get the receiving
>> control for this message? I Use ICS V6 and don't understand how the
>> TIcsWndHandler works. Does anyone have examples for this?
>
> You could override the WndProc() procedure of a component and trap
> FMsg_WM_ASYNCSELECT. Have a look at TCustomWSocket.WMASyncSelect()
> for an example of how to catch FD_ACCEPT.
>
> --
> Arno Garrels [TeamICS]
> http://www.overbyte.be/eng/overbyte/teamics.html
>
>
>
>
>
>
>>
>>
>>
>>
>> Regards Bjørnar
>>
>>
>> No virus found in this outgoing message.
>> Checked by AVG.
>> Version: 7.5.519 / Virus Database: 269.21.7/1332 - Release Date:
>> 17.03.2008 10:48
> --
> 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
>
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.519 / Virus Database: 269.21.7/1334 - Release Date:
> 18.03.2008 20:52
>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.519 / Virus Database: 269.22.0/1341 - Release Date:
> 24.03.2008 15:03
--
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

No virus found in this incoming message.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.0/1341 - Release Date: 24.03.2008 
15:03


No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.0/1341 - Release Date: 24.03.2008 
15:03

-- 
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

Reply via email to