2012-07-09 117 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()