tcp服务的测试程序开源
开源的是一个测试客户端,可以用来检验服务器端程序的并发处理能力。
使用方法为:
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:])
tcp服务的测试程序开源的更多相关文章
- C#高性能TCP服务的多种实现方式
哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!>. 本篇文章的主 ...
- C#高性能TCP服务
C#高性能TCP服务 哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!& ...
- C# 高性能 TCP 服务的多种实现方式
哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C# 编写 TCP 服务的花样姿势!>. 本篇文 ...
- BeetleX之TCP服务应用详解
BeetleX是.net core平台下的一个开源TCP 通讯组件,它不仅使用简便还提供了出色性能的支持,可以轻易让你实现上百万级别RPS吞吐的服务应用.组件所提供的基础功能也非常完善,可以让你轻易扩 ...
- 利用select实现IO多路复用TCP服务端
一.相关函数 1. int select(int maxfdp, fd_set *readset, fd_set *writeset, fd_set *exceptset,struct timeva ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- Java网络编程(TCP服务端)
/* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...
- Java TCP服务端向客户端发送图片
/** * 1.创建TCP服务端,TCP客户端 * 2.服务端等待客户端连接,客户端连接后,服务端向客户端写入图片 * 3.客户端收到后进行文件保存 * @author Administrator * ...
- ngrok首页、文档和下载 - Web服务安全通道 - 开源中国社区
ngrok首页.文档和下载 - Web服务安全通道 - 开源中国社区 Web服务安全通道 ngrok 编辑/纠错 分享到 新浪微博腾讯微博 已用 +0 收藏 ...
随机推荐
- java-资源管理器try-with-resource
在java编程中会遇到很多关闭资源的问题,但是,往往我们的关闭不能百分百正确,所以java7中出现了新的资源管理器方法try-with-resource,这是一项重要的改进,因为没人能再手动关闭资源时 ...
- mvcAPI (入门 3)
续上 1)无参数Get请求 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...
- 【Java】Map杂谈,hashcode()、equals()、HashMap、TreeMap、LinkedHashMap、ConcurrentHashMap
参考的优秀文章: <Java编程思想>第四版 <Effective Java>第二版 Map接口是映射表的结构,维护键对象与值对象的对应关系,称键值对. > hashco ...
- C语言第4天循环,流程控制。
C语言第四天 :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { borde ...
- 改变了一下blog的主题,很开心
调整了一下博客的样式,之前一直想改变下,一直不会这次终于摸索出来一点,不过是最简单的,就是在管理里面的设置,可以定制css代码,修改修改,页面就跟着你的想法走了,有时间好好修改下,暂时这个样子,简单大 ...
- JavaScript的循环语句
JavaScript的循环语句 1.JavaScript的循环语句 (1)for循环语句 - 循环代码块一定的次数: (2)for/in循环语句 - 循环遍历对象的属性: (3)while循环语句 - ...
- BZOJ 1061 志愿者招募(最小费用最大流)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1061 题意:申奥成功后,布布经过不懈努力,终于 成为奥组委下属公司人力资源部门的主管.布 ...
- Creating Object Library OLB in Oracle D2k Form
With following steps you can create Object Library (OLB) in Oracle D2k Forms.Step - 1Create a form i ...
- windows tomcat 优化
windows tomcat 优化 1. tomcat conf server.xml 在server.xml中修改以一部分,增加节点数目,可以很好的提高性能: <Connector port ...
- [POJ2182]Lost Cows(树状数组,二分)
题目链接:http://poj.org/problem?id=2182 题意:给定1~n个数和n个位置,已知ai表示第i个位置前有ai个数比当前位置的数小,求这个排列. 和刚才YY的题意蛮接近的,用树 ...