I have some problems to get SLP (service location protocol; I play around with the OpenSLP implementation) to work. It uses multicast on 239.255.255.253, port 427. To narrow down the problem I decided to test the multicast connection with iperf
first (without any SLP related stuff).
So on one computer I set up a server using
iperf -s -u -B 239.255.255.253 -p 427 -i 1
And on the other computer I try to send some data using
iperf -c 239.255.255.253 -p 427 -u -T 32 -t 3 -i 1
But the server doesn't receive any data.
The output on the server side is:
bind failed: Cannot assign requested address
------------------------------------------------------------
Server listening on UDP port 427
Binding to local address 239.255.255.253
Joining multicast group 239.255.255.253
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
On on the client side:
------------------------------------------------------------
Client connecting to 239.255.255.253, UDP port 427
Sending 1470 byte datagrams
Setting multicast TTL to 32
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 152.96.201.188 port 53777 connected with 239.255.255.253 port 427
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec
[ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 0.0- 3.0 sec 386 KBytes 1.05 Mbits/sec
[ 3] Sent 269 datagrams
So the problem seems to be on the server side because it can't bind the multicast address. What could be the problem there? How could I debug it?
Btw, it looks like the server can successfully join the multicast group address. Because when I try the same command in a private network without a router (just an unmanaged switch), it says (in addition):
multicast join failed: Invalid argument
Both computers run Win 7 and are connected to the company network. They are inside the same VLAN (ping is successful). IT department says that multicasting is enabled in this subnet.
Hints on how I could debug this would be much appreciated!