I'm trying to get a simple multicast application working using Twisted; so far I have:
from twisted.internet.protocol import DatagramProtocol from twisted.internet import reactor from twisted.application.internet import MulticastServer class MulticastServerUDP(DatagramProtocol): def startProtocol(self): print 'Started Listening' # Join a specific multicast group, which is the IP we will respond to self.transport.joinGroup('224.0.0.1') def datagramReceived(self, datagram, address): # The uniqueID check is to ensure we only service requests from # ourselves if datagram == 'UniqueID': print "Server Received: " + repr(datagram) self.transport.write("data", address) # Listen for multicast on 224.0.0.1:8005 reactor.listenMulticast(8005, MulticastServerUDP()) reactor.run() and: from twisted.internet.protocol import DatagramProtocol from twisted.internet import reactor from twisted.application.internet import MulticastServer class MulticastClientUDP(DatagramProtocol): def startProtocol(self): print 'Started Listening' # Join a specific multicast group, which is the IP we will respond to self.transport.joinGroup('224.0.0.1') self.transport.write('UniqueID',('224.0.0.1', 8005)) def datagramReceived(self, datagram, address): print "Received:" + repr(datagram) # Send multicast on 224.0.0.1:8005, on our dynamically allocated port reactor.listenMulticast(0, MulticastClientUDP()) reactor.run() ************************************************************************************ No surprises there! But how do I get the server to send to all clients using multicast? transport.write requires an address. Any suggestions appreciated. Thanks -- http://mail.python.org/mailman/listinfo/python-list