[Python] sendall su socket no blocking
Marco De Paoli
depaolim a gmail.com
Sab 23 Ott 2021 18:37:49 CEST
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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20211023/8c9bfebd/attachment.html>
Maggiori informazioni sulla lista
Python