ciao a tutti,
da alcune prove mi pare che il sendall spedisca effettivamente tutto il
buffer anche su socket che abbiano setblocking(False)

Però non sono sicuro che sia un comportamento sempre garantito su tutte le
piattaforme

La documentazione non si esprime in merito
https://docs.python.org/3/library/socket.html#socket.socket.sendall

Qui si dice che la sendall dovrebbe essere usata solo con socket blocking:
https://stackoverflow.com/questions/6240737/python-socket-sendall-function
(c'è un riferimento dangling a sorgenti evidentemente obsoleti)

Ho visto i sorgenti del branch "main" e mi pare che invece la sendall
spedisca sempre tutto...
https://github.com/python/cpython/blob/main/Modules/socketmodule.c

ad esempio qui
https://github.com/python/cpython/blob/main/Modules/socketmodule.c#L925

Però diciamo che al sabato sera non mi sento abbastanza lucido da dirimere
la questione da solo ;-)

Marco
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a