The best way to see which packets are arriving at their destination is to install a sniffer such as Ethereal (runs on windows & linux):
http://www.ethereal.com/
Once you know exactly what is arriving you will be able to figure out the problem. I suggest you take a look at the following issues:
- Rate control
It is possible that you are sending the packets too fast. On the LAN you have a lot of capacity and no interference from Internet routers. If you send UDP over the Internet too fast you risk overflowing the senders upload limit, or the download limit of the receiver. This will cause packets to be thrown away. A proper UDP implementation should have some form of rate control.
- Congested paths
These paths on the Internet may lose a lot of UDP packets, so if you need every UDP packet to arrive you'd better implement some form of acknowledgements.
A quick "hack" in your code to solve both these problems would be to send 1 UDP packet and then wait for about 1 sec. The receiver should send an "OK I got it" UDP packet as soon as the first packet has arrived. If nothing arrives at the sender for one second then the sender should resend the same UDP packet. If the OK I got it arrives, then the sender can immediately send UDP packet 2, and so on. It will be slow, but it should work.
I would not recommend using TCP for live video streaming, but TCP WILL transfer a picture easier and more safely.
Main Topics
Browse All Topics





by: bhagyeshtPosted on 2003-09-25 at 04:47:52ID: 9427606
you could add this in ur previous question and increase the points there.
see tameem what happens when u use a UDP there is no acknoledgement besides its the packet order is not fixed. I would suggest try TCP/IP instead. but if you have already done most of the coding then its too late. whats the size of the images?