Reliable UDP Multicast using a separate TCP ack channel per subscriber.
make
sudo make DESTDIR=/usr/local install
Replace /usr/local
with a directory of your choice
Please note that a wireshark dissector plugin is available.
make wireshark
./rmc_test -?
Start a publisher that:
- Emit periodic announce packets to potential subscribrers
- Waits for one subscriber to connect
- Sends a single packet (in a single multicast packet)
- Exits
Window 1:
./rmc_test -c 1
Start subscriber that:
- Waits for an announce packet from a publisher
- Connects to publisher and sets up subscribtion
- Receives however many packets that the publisher has to send
- Validates all packets
- Extits
Window 2:
./rmc_test -S
Bandwidth will be dependent on the interface that the multicast is bound to. WiFi is slower than gbit Ethernet.
./rmc_test -c 1000000
./rmc_test -S
The -i
argument sets up node id to distinguish betwen two publishers.
The -e
argument lists all publishers that the subscriber is to expect announce packets from.
./rmc_test -S -e1 -e2
./rmc_test -c 1000000 -i1
./rmc_test -c 1000000 -i2
./rmc_test -S
./rmc_test -S
./rmc_test -c 1000000