博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tcp服务的测试程序开源
阅读量:5221 次
发布时间:2019-06-14

本文共 1321 字,大约阅读时间需要 4 分钟。

开源的是一个测试客户端,可以用来检验服务器端程序的并发处理能力。

使用方法为:

python epolltest.py --host=192.168.15.128 --port=8809 --degree=200

其中degree为并发线程数

python 版本为2.6

代码如下

from Queue import Queue

from threading import Thread
from subprocess import check_call
from os import *
import socket
import threading
import exceptions
import sys
import getopt

 

def do_stuff(q,host,port):

s = socket.socket() # Create a socket object

s.connect((host, int(port)))

while True:
try:
value=q.get()
except:
return
# call(["telnet", "192.168.15.128", "8088" , "<" , "echo.txt"])
# check_call("sh" +" autosend.sh" , shell=True)

s.send("suck me\n")
# print threading.current_thread(), value
s.close # Close the socket when done
q.task_done()

def main(argv):

try:
opts, args = getopt.getopt(argv,"h:p:d:",["host=","port=","degree="])
except getopt.GetoptError:
print "python epolltest.py --host=<ip> --port=<port> --degree=<degree>"
sys.exit(2)
for opt, arg in opts:
if opt=="--host":
host=arg
elif opt=="--port":
port=arg
elif opt=="--degree":
degree=arg

q = Queue(maxsize=0)

print degree
for i in range(int(degree)):
worker = Thread(target=do_stuff, args=(q,host,port ))
worker.setDaemon(True)
worker.start()
x=0
while x<=10000000:
q.put(x)
x+=1
q.join()
print "finish"

if __name__ == "__main__":

main(sys.argv[1:])

转载于:https://www.cnblogs.com/youge-OneSQL/p/4851610.html

你可能感兴趣的文章
求整数的和与均值
查看>>
http-从域名到页面
查看>>
collection和association的区别于关系
查看>>
数据结构中的算法
查看>>
1021 docker搭建mysql、网络模式、grid
查看>>
CF1082
查看>>
JAVA基础笔记(4) 进制单位与数据类型
查看>>
Dungeon Master (bfs 1A,贴出来纪念一下)
查看>>
typecho流程原理和插件机制浅析(第二弹)
查看>>
jmeter使用第三方代理录制脚本
查看>>
Github Pages 建立过程记录
查看>>
leetcode-127-单词接龙
查看>>
[转]粒子滤波的Matlab仿真算法实现
查看>>
第8章 处理ISDN故障
查看>>
HDU 2112 HDU Today(Dijkstra)
查看>>
android怎么在launcher改动内置apk的icon
查看>>
cocos2dx 利用CCOrbitCamera实现扑克牌翻牌效果
查看>>
开发RESTful WebService
查看>>
【剑指offer】的功率值
查看>>
EJB究竟是什么,真的那么神奇吗??
查看>>