diff --git a/SSDP.py b/SSDP.py index 6f117a1..23490e9 100644 --- a/SSDP.py +++ b/SSDP.py @@ -84,12 +84,10 @@ class SSDPServer(DatagramProtocol): for k, v in self.known[headers['st']].items(): response.append('%s: %s' % (k, v)) + response.extend(('', '')) delay = random.randint(0, int(headers['mx'])) - log.msg('responding in %d with: %s' % (delay, response)) - - # TODO: we should wait random(headers['mx']) reactor.callLater(delay, self.transport.write, - string.join(response, '\r\n') + '\r\n\r\n', (host, port)) + '\r\n'.join(response), (host, port)) def register(self, usn, st, location): """Register a service or device that this SSDP server will @@ -119,9 +117,8 @@ class SSDPServer(DatagramProtocol): stcpy['NT'] = stcpy['ST'] del stcpy['ST'] resp.extend(map(lambda x: ': '.join(x), stcpy.iteritems())) - log.msg(repr(resp)) - self.transport.write( - string.join(resp, '\r\n') + '\r\n\r\n', (SSDP_ADDR, SSDP_PORT)) + resp.extend(('', '')) + self.transport.write('\r\n'.join(resp), (SSDP_ADDR, SSDP_PORT)) def notifyReceived(self, headers, (host, port)): """Process a presence announcement. We just remember the