[Twisted-Python] multicast

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Thu Dec 16 08:31:01 MST 2010


On 10:09 am, ypercube at gmail.com wrote:
>On Thu, Dec 16, 2010 at 2:06 AM, Itamar Turner-Trauring 
><itamar at itamarst.org
>>wrote:
>
>>On Wed, 2010-12-15 at 18:07 +0200, Pandelis Theodosiou wrote:
>> > I'm trying to make a Multicast client.
>> >
>> > I've tried the simple script found in:
>> > http://twistedmatrix.com/documents/10.1.0/core/howto/udp.html#auto3
>> >
>> > While it shows no errors, it doesn't receive any data. How can I 
>>check
>> > what the problem is?
>>
>>You didn't do the necessary joinGroup() call, which is in the original
>>example.
>I made many trials, and one was like this:
>
>from twisted.internet.protocol import DatagramProtocol
>from twisted.internet import reactor
>from twisted.application.internet import MulticastServer
>
>
>class MulticastClientUDP(DatagramProtocol):
>
>    def startProtocol(self):
>        self.transport.joinGroup('233.75.215.44')
>
>    def datagramReceived(self, datagram, address):
>            print "Received:" + repr(datagram)
>
># Trying to receive from 233.75.215.44, on our dynamically allocated 
>port
>reactor.listenUDP(60044, MulticastClientUDP())
>reactor.run()
>
>But datagramReceived is never called. Am I doing something wrong?
>Is there any other method that should be called so I start listening on 
>that
>group?
>
>I've also tried to use listenMulticast instead of listenUDP but then I
>realized this is if I need more than one application to listen/write to 
>the
>multicast port and I don't need that.
>pandelis

Then it may indeed be an issue with a routing device somewhere near your 
tests.  Dropping all multicast traffic is a common behavior to encounter 
in firewalls and home routers.

Maybe if you play with iptables or the equivalent on your system you'll 
be able to fix this.

Jean-Paul




More information about the Twisted-Python mailing list