1

サーバーのストレステストを行うPythonスクリプトを作成したかったのです。そこで、この基本的なUDPフラッダーを作成しましたが、正しく機能していると思います。

私の質問は、これにマルチスレッドを追加するにはどうすればよいですか?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()
4

1 に答える 1

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()
于 2012-07-09T05:12:31.747 に答える