[Twisted-Python] send-msearch on all network interfaces of a machine

Pratik Prajapati pratik.prajapati12 at gmail.com
Wed Jun 25 04:29:08 MDT 2014


Modified code (with changes suggested by you on stackoverflow):

class Base(DatagramProtocol):
        """ Class to send M-SEARCH message to devices in network and
receive datagram
            packets from them
        """
        SSDP_ADDR = "239.255.255.250"
        SSDP_PORT = 1900
        MS = "M-SEARCH * HTTP/1.1\r\nHOST: {}:{}\r\nMAN:
'ssdp:discover'\r\nMX: 2\r\nST: ssdp:all\r\n\r\n".format(SSDP_ADDR,
SSDP_PORT)

    def sendMsearch(self):
        """ Sending M-SEARCH message
        """
        timeInSeconds = [0.2,0.4,0.6,0.8]
        try:
            port = reactor.listenUDP(0, self, interface=self.address)
            for num, delay in zip(range(4), timeInSeconds):
                reactor.callLater(delay, port.write, Scanner.MS,
(Scanner.SSDP_ADDR, Scanner.SSDP_PORT))
        except error.CannotListenError:
            pass
        reactor.callLater(2.5, self.stopMsearch, port) # MX + a wait margin

    def stopMsearch(self, port):
        """ Stop listening on port
        """
        port.stopListening()

def findDevices():
    addresses = []
    for interface in interfaces():
        try:
            for link in ifaddresses(interface)[AF_INET]:
                addresses.append(link['addr'])
        except KeyError:
            pass

    #loopback address
    if "127.0.0.1" in addresses:
        addresses.remove("127.0.0.1")

    for address in addresses:
        network = Base(address)
        network.sendMsearch()


On Wed, Jun 25, 2014 at 3:50 PM, Pratik Prajapati <
pratik.prajapati12 at gmail.com> wrote:

> Hi Jean-Paul,
>
> you have seen my code on
> http://stackoverflow.com/questions/24178580/send-m-search-packets-on-all-network-interfaces-using-twisted-module-in-python
>
> code with your suggested changes
>
> this is working fine for windows machine, but on linux machine if no
> device is found on network then it doesn't go to stopMsearch()
>
> Please help. How to debug this ?
>
>
> On Sun, Jun 15, 2014 at 9:30 AM, Pratik Prajapati <
> pratik.prajapati12 at gmail.com> wrote:
>
>> Hi Jean-Paul,
>>
>> I have added a comment on your answer on stackoverflow, please respond
>> there.
>>
>>
>> On Sat, Jun 14, 2014 at 11:53 PM, Pratik Prajapati <
>> pratik.prajapati12 at gmail.com> wrote:
>>
>>> Thanks for the answer
>>>
>>>
>>> On Sat, Jun 14, 2014 at 7:57 PM, <exarkun at twistedmatrix.com> wrote:
>>>
>>>> On 12:48 pm, pratik.prajapati12 at gmail.com wrote:
>>>>
>>>>>
>>>>> [snip]
>>>>>
>>>>>
>>>>> Please tell what's wrong in code mentioned in the start of this mail
>>>>> and
>>>>> how to correct this.
>>>>>
>>>>> I have also posted this code on stackoverflow , but didn't get any
>>>>> response
>>>>> http://stackoverflow.com/questions/24178580/send-m-search-packets-on-
>>>>> all-network-interfaces-using-twisted-module-in-python
>>>>>
>>>>
>>>> I posted an answer on stackoverflow.  I previously hadn't seen the
>>>> question because it didn't have the `twisted` tag (I edited the question as
>>>> well to replace the `twisted.internet` tag with the `twisted` tag). I
>>>> suggest you use `twisted` for stackoverflow questions about Twisted in the
>>>> future. :)
>>>>
>>>> Jean-Paul
>>>>
>>>> _______________________________________________
>>>> Twisted-Python mailing list
>>>> Twisted-Python at twistedmatrix.com
>>>> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>>>>
>>>
>>>
>>>
>>> --
>>> *Thanks and Regards,*
>>>
>>> *Pratik Prajapati*
>>> *Graduate Software Engineer*
>>> *Imagination Technologies India Pvt Ltd.*
>>>
>>
>>
>>
>> --
>> *Thanks and Regards,*
>>
>> *Pratik Prajapati*
>> *Graduate Software Engineer*
>> *Imagination Technologies India Pvt Ltd.*
>>
>
>
>
> --
> *Thanks and Regards,*
>
> *Pratik Prajapati*
> *Graduate Software Engineer*
> *Imagination Technologies India Pvt Ltd.*
>



-- 
*Thanks and Regards,*

*Pratik Prajapati*
*Graduate Software Engineer*
*Imagination Technologies India Pvt Ltd.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20140625/e4fea604/attachment-0001.html>


More information about the Twisted-Python mailing list