Re: Twisted Matrix and multicast broadcast

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Jean-Paul Calderone

    Re: Twisted Matrix and multicast broadcast

    On Thu, 9 Oct 2008 06:03:44 -0700 (PDT), Stodge <stodge@gmail.c omwrote:
    [snip]
    >class MulticastServer UDP(DatagramPro tocol):
    def startProtocol(s elf):
    print 'Started Listening'
    # Join a specific multicast group, which is the IP we will
    >respond to
    self.transport. joinGroup('224. 0.0.1')
    >
    [snip]
    >
    >class MulticastClient UDP(DatagramPro tocol):
    def startProtocol(s elf):
    print 'Started Listening'
    # Join a specific multicast group, which is the IP we will
    >respond to
    self.transport. joinGroup('224. 0.0.1')
    >
    [snip]
    >
    >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.
    Your server and client are both listening on the multicast address
    224.0.0.1. Traffic sent to that address will be delivered to both
    of them. If you want to send something to all clients listening on
    that address, then that's the address to pass to transport.write .

    Jean-Paul
  • Stodge

    #2
    Re: Twisted Matrix and multicast broadcast

    On Oct 9, 9:33 am, Jean-Paul Calderone <exar...@divmod .comwrote:
    On Thu, 9 Oct 2008 06:03:44 -0700 (PDT), Stodge <sto...@gmail.c omwrote:
    [snip]
    class MulticastServer UDP(DatagramPro tocol):
       def startProtocol(s elf):
           print 'Started Listening'
           # Join a specific multicast group, which is the IP we will
    respond to
           self.transport. joinGroup('224. 0.0.1')
    >
    [snip]
    >
    class MulticastClient UDP(DatagramPro tocol):
       def startProtocol(s elf):
           print 'Started Listening'
           # Join a specific multicast group, which is the IP we will
    respond to
           self.transport. joinGroup('224. 0.0.1')
    >
    [snip]
    >
    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.
    >
    Your server and client are both listening on the multicast address
    224.0.0.1.  Traffic sent to that address will be delivered to both
    of them.  If you want to send something to all clients listening on
    that address, then that's the address to pass to transport.write .
    >
    Jean-Paul
    Thanks. So the server write should be:

    self.transport. write("data", ('224.0.0.1', 8005))

    I guess I can't run multiple peers on the same PC as they'll all be
    listening on port 8005.

    Comment

    Working...