On Thu, Dec 16, 2010 at 2:06 AM, Itamar Turner-Trauring <itamar@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