Hello Arno,

I expect to get a data record of N byte length. I'd like to wait
until the whole record has been received then I can call Receive()
to read it back. Otherwise, if a OnDataAvailable() is triggered
before the whole record is received, I will have to temporarily
store it somewhere and concatenate the data.

If RcvdCount is not reliable, I can probably use PeekData() but
this is not very efficient because the data might be copied twice
each by PeedData() and Receive();

Best regards,

Tuesday, October 24, 2006, 11:36:32 AM, you wrote:

> Francois PIETTE wrote:
>>>> I know I know :) I was trying to ask if I can get that info
>>>> without calling Receive() and ReceiveStr() :)
>>> var
>>>    Count : Integer;
>>> WSocket_ioctlsocket(WSocket1.HSocket, FIONREAD, Count);
>> There is an article on MSDN which says this function is not reliable
>> (http://support.microsoft.com/default.aspx?scid=kb;en-us;192599). See
>> also comment dated Nov 26, 2000 (V4.25) in wsocket.pas.

> Now I remember. Usually you realy don't need to call it,
> Jack should explain why he wants to know how much data is pending
> w/o receiving it, sounds like a bad design.

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

>> You have access to this value thru the property RcvdCount.
>> --
>> Contribute to the SSL Effort. Visit
>> http://www.overbyte.be/eng/ssl.html --
>> http://www.overbyte.be

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