Francois PIETTE wrote:
>>> One possible explanation were that anytime OnDataAvailable returns,
>>> just a few _new_ bytes are available in winsock buffer. Could be
>>> possible due to the background thread winsock creates internally
>>> with non-blocking sockets, though I'm not aware of how winsock works
>>> under the hood.
>> When in this situation, we got a few hundred calls a second, for an
>> unlimited time, where normally it's one every few seconds.
>> I agree with you, it could be a possible cause, but very unlikely.
> Do you receive data each time you call ReceiveStr ? If yes, then probably
> you have a fast network, and your application becomes CPU bound.
That's the thing, I don't receive any data. At least not using ReceiveStr()
> btw: Since you don't use line mode, I strongly suggest you avoid ReceiveStr
> and instead use Receive with a fixed buffer. Calling ReceiveStr will force
> the runtime to create new string and copy data into it, and probably youthen
> copy data elsewhere for processing. All this is very CPU intensive.
> The best way to design a high performance application is to use a fixed
> buffer (which may be dynamically allocated but not each time you receive
> data). And use the buffer as close as possible of the processing each time
> you copy data, each time you consume CPU and memory for nothing.
> [EMAIL PROTECTED]
> The author of the freeware multi-tier middleware MidWare
> The author of the freeware Internet Component Suite (ICS)
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