Newsgroups : Borland : borland.public.delphi.internet.winsock : 2005 Jul : Help With Multicasting

www.cryer.info
Managed Newsgroup Archive

Help With Multicasting

Subject:Help With Multicasting
Posted by:"Graham Powell" (grah..@deephaven.co.uk)
Date:Wed, 20 Jul 2005 10:29:37

I have a set up where there is a Multicast server sending a bitmap image
every 800mS (approx size 520 * 1000) which equates to about 1.5MBytes.

Using a network sniffer I can see that the network transfer time is about
250mS.

The problem I have is that the Client can't seem to keep up. I am using the
INDY Multicast client and server components. The Server is sending the data
in blocks of one Scanline. In the Client Read event the received Stream is
copied directly into the ScanLine of its bitmap to try and cut down on
processing time. Occasionally the data is received correctly so I know the
basic mechanism is working.

Am I doing this correctly. Before I exit the Multicast Client Read event,
should I check something, or do I just exit and wait for the next event?

I have tried to cut down on the amount of data transmitted by converting the
image to JPEG and then back again at the Client for display.
I have tried sending the data in different block sizes.
I have tried putting the Multicast Client in a high priority thread, which
may or may not be the same as setting ThreadedEvent = True.

All these ideas change but not fix the problem completely.

I know that UDP packets are not guaranteed to get through, but on a small
LAN, is this still true?
Is what I am seeing a fundamental problem with UDP or is there a faster way
I can get the data out of the Client component.

Thanks for any help.

  Graham

Replies:

www.cryer.info
Managed Newsgroup Archive