2014-05-11 2 views
1

J'essaie de tester mon instance EC2 Micro en utilisant Python.Un nombre entier d'erreurs Python est requis.

Je reçois une erreur qui semble explicite mais c'est pas le cas:

Erreur: un entier est nécessaire

fonction stress_test:

try: 
    bytes = random._urandom(512) 
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
    s.connect((self.host, int(self.port))) 
    s.setblocking(0) 
    s.sendto(bytes, (self.host, self.port)) 
except Exception, e: 
    print(str(e)) 

fonction principale:

while True: 
    if threading.activeCount() < thread_limit: 
     stress_test(host_ip, host_port).start() 

L'erreur est sur cette ligne: s.sendto(bytes, (self.host, self.port))

Cependant, si j'essayez de le convertir à init Je bien sûr obtenir une erreur invalid literal for int() with base 10. J'ai également essayé s.sendto(bytes(512), (self.host, self.port)) mais j'ai l'erreur 'str' object is not callable.

Qu'est-ce que je fais mal?

Répondre

3

self.port doit être un nombre entier; utilisez int(self.port) dans la ligne sendto.

+0

vraiment c'était ça, wow merci – Prometheus

+1

Depuis que votre problème a été résolu ma réponse, vous pouvez [accepter] (https://stackoverflow.com/help/someone-answers) it. –

Questions connexes