That is not a problem. TCP guarantees that data will be sent in the right
order ( the order being sent ) & that it will reach the destination.
What TCP doesn't guarantee is the size of data. E.g. if you sent 8k of data
listener may call Receive multiple times, this depends on network
conditions, sliding window size etc ( for details look into RFC793 for the
tcp protocol description)
What you can do to solve the trouble is to read (Receive) data until you
will receive your 8192 bytes of data.
--
Vadym Stetsyak aka Vadmyst
http://vadmyst.blogspot.com [quoted text, click to view] <mulham.haffar@gmail.com> wrote in message
news:1132402928.097883.179010@g47g2000cwa.googlegroups.com...
> hi..
> im writing an application that uses tcpclient/tcplistener to send file
> via network, what im doing is dividing the file into small parts each
> part equals the buffer size (8192) and send the parts sequentialy.
> the problem is :
> the listener is detecting a stream to be read once every two times the
> sender sends a stream.
> I triend to fix it by sending one byte {0} before each send function
> and it worked because the listener ignores the first send (which is the
> 0 byte) then detects the next send which is the acutaul data, but i
> realized that the 0 byte is still in the buffer so its attached the
> next stream read.
> any help? any idea is appreciated .. thank you in advance.
>