Fixes, IP list

This commit is contained in:
Pascal Engélibert 2024-10-30 17:07:15 +01:00
commit cd0bf3113e
3 changed files with 119 additions and 43 deletions

View file

@ -11,8 +11,10 @@ class Sock:
self.queue = []
self.queue_lock = Lock()
self.sock_thread = None
self.has_sent = False
def send_raw(self, message, address):
self.has_sent = True
if type(message) == str:
message = message.encode()
if NETTRACE:
@ -21,6 +23,7 @@ class Sock:
# Envoie une requete
def send(self, message, address):
self.has_sent = True
message = json.dumps(message)
if NETTRACE:
print("Send to", tuple(address), ":", message, file=sys.stderr)
@ -30,6 +33,8 @@ class Sock:
# Si la fonction callback est donnee, elle sera appelee avec les requetes recues.
# La methode get ne fonctionnera pas si un callback est defini.
def listen(self, address, callback=None, length=65535):
if self.has_sent:
print("Attention, listen ne fonctionne pas si send a ete appele avant.")
self.sock_thread = SockThread(self, tuple(address), length, callback)
self.sock_thread.setDaemon(True)
self.sock_thread.start()