Tomáš Zato
Tomáš Zato

Reputation: 53119

How can I simulate packet loss for my Qt UDP program?

As a homework assignment, I wrote UDP server-client application that tries to correct errors in the UDP communication using checksums and through confirming correctly received packets.

The problem is that on localhost, all packets are received without a problem. I tried some packet tampering programs, but they all require communication through network interface.

How to simulate UDP packet loss on localhost loopback address?

Upvotes: 1

Views: 323

Answers (1)

John Zwinck
John Zwinck

Reputation: 249093

UDP is easy to deal with--just write a bit of code in the sender or receiver which drops a certain percentage of the messages, and perhaps occasionally reorders some too.

If you can't modify the actual sender or receiver, it is easy enough to write a third program which simply sits in the middle, forwarding packets with some drops and reordering.

If you're using Linux, you can probably set up iptables to drop packets for you: http://code.nomad-labs.com/2010/03/11/simulating-dropped-packets-aka-crappy-internets-with-iptables/ - this seems like it might work even on loopback ports.

Upvotes: 4

Related Questions