J'essaie ma main sur la programmation asynchrone avec gevent et pas capable de comprendre le fonctionnement de mon code.gevent spawing - dans la séquence plutôt que concurrente
Je suis en train de faire un ping google.com à l'aide des prises sur un port fermé (22) et attend la fonction ping
se produise en même temps, mais il ne se produit pas
J'ai un code python comme ci-dessous
class Ping(object):
def checkReachability(self,index):
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.settimeout(2)
print index
try:
sock.connect(('google.com',22))
gevent.sleep(0)
except socket.error as e:
print str(e)
sock.close()
def ping(self):
threads = [gevent.spawn(self.checkReachability, i) for i in range(3)]
gevent.joinall(threads)
if __name__ == 'main':
m = Ping()
m.ping()
J'attends de voir:
0
1
2
timeout
timeout
timeout
C'est ce que je veux
0
timed out
1
timed out
2
timed out
Toute aide pourrait être utile.
Remerciements