Pythonban ha a socket kezeléshez select-et használok, akkor ott mikor lesz írásra kész egy output socket?
Azt értem, hogy ha egy input listában lévő socketre üzenet érkezett, akkor a select nem blokkol tovább és továbbmegy a program. De ha az output-ra figyelt socket-ek folyamatosan készen állnak az írásra, akkor a select soha nem blokkol, mármint nem várakozik?
import select, socket
...
inputs = [mySocket1]
outputs = [mySocket2]
inputready,outputready,exceptready = select.select(inputs, outputs, [])
Nem.
"wlist: wait until ready for writing"
Tehát ha "ready for writing" akkor nem blokkol.
Forrás: [link]
Érdemes ezt a design-t timeouttal és while-al összekötni.
"Nem."
Ezt akkor arra írod, hogy nem blokkol, ugye? Tehát ha olyan socket-et figyel írásra, amit nem használok, akkor ott továbbmegy és visszaadja, hogy írható. Akkor ez azt jelenti, hogy az output listába csak olyan socket-et érdemes beletenni, amibe konkrétan írni akarok valamit? Vagyis első körben érdemes üresen hagyni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!