mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Respond to all broadcasts at once, not just to one.
This commit is contained in:
parent
4ce9dd36fa
commit
15749dc4d7
@ -579,16 +579,20 @@ class SMART_DEVICE_APP(DeviceConfig, DevicePlugin):
|
|||||||
self._close_device_socket()
|
self._close_device_socket()
|
||||||
return (self.is_connected, self)
|
return (self.is_connected, self)
|
||||||
if getattr(self, 'broadcast_socket', None) is not None:
|
if getattr(self, 'broadcast_socket', None) is not None:
|
||||||
|
while True:
|
||||||
ans = select.select((self.broadcast_socket,), (), (), 0)
|
ans = select.select((self.broadcast_socket,), (), (), 0)
|
||||||
if len(ans[0]) > 0:
|
if len(ans[0]) > 0:
|
||||||
try:
|
try:
|
||||||
packet = self.broadcast_socket.recvfrom(100)
|
packet = self.broadcast_socket.recvfrom(100)
|
||||||
remote = packet[1]
|
remote = packet[1]
|
||||||
message = str(socket.gethostname().partition('.')[0] + '|') + str(self.port)
|
message = str(socket.gethostname().partition('.')[0]
|
||||||
|
+ '|') + str(self.port)
|
||||||
self._debug('received broadcast', packet, message)
|
self._debug('received broadcast', packet, message)
|
||||||
self.broadcast_socket.sendto(message, remote)
|
self.broadcast_socket.sendto(message, remote)
|
||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
pass
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
if getattr(self, 'listen_socket', None) is not None:
|
if getattr(self, 'listen_socket', None) is not None:
|
||||||
ans = select.select((self.listen_socket,), (), (), 0)
|
ans = select.select((self.listen_socket,), (), (), 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user