python脚本练习(一)---大量用户socket请求server,多线程

上一篇 / 下一篇  2008-12-04 09:07:14 / 个人分类:Python

刚开始学习python, 不足的地方多多指教。这段脚本的目的是模拟client大量socket请求server,并打印server的返回内容。

import sys
import socket
import time
import threading

start_time = time.time()

class mythread(threading.Thread):
    def __init__(self,threadname):
        threading.Thread.__init__(self)
        self._run_num = num

    def run(self):
        global count, mutex
        threadname = threading.currentThread().getName()

        for i in range(int(self._run_num)):
            #get lock
            mutex.acquire()
            count = count + 1
            #release lock
            mutex.release()

            mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            mysock.connect(('221.11.6.88',10020))
            mysock.send('**0#PM#0#0#0#468af015-30b1-4f4a-bce8-ebbfe2c914ce')
            rdata = mysock.recv(50)
            print  i, 'received:', rdata
            mysock.close()

if __name__ == "__main__":
    global count, mutex
    threads = []
    num = 5
    count = 1
    #create lock
    mutex = threading.Lock()
    for x in range(0, num):
        threads.append(mythread(5))
    for t in threads:
        t.start()
    for t in threads:
        t.join()

print "Elapsed Time: %s" % (time.time() - start_time)
 

TAG: Python

引用 删除 lisals   /   2010-05-27 14:33:37
高手,我还想问一下多个用户的client可不可以模拟为不同的IP地址呀
icy.qin的个人空间 引用 删除 icy.qin   /   2009-06-29 14:49:28
我现在也正在学python,请问你有试过用python模拟sharepoint登陆吗?
 

评分:0

我来说两句

Open Toolbar