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 收藏 ...
随机推荐
- 2016年11月14日 星期一 --出埃及记 Exodus 20:5
2016年11月14日 星期一 --出埃及记 Exodus 20:5 You shall not bow down to them or worship them; for I, the LORD y ...
- 软件密码和https协议
密码安全问题,一直是程序员最痛疼的问题,这一章主要的来说一下密码的安全,和怎么提高密码的安全,还有Tomcat的https协议. 密码对于一个程序的安全有多重要就不多说了,如果你做过银行系统的话,那么 ...
- 【JSON】Jackson初学,及常用的例子
现在很多公司的项目都基于SOA架构,系统间的调用有许多方式,其中一种常见的是用HTTP协议.以JSON格式返回结果. 这使得JSON的使用更加普遍.而市面上处理JSON的框架五花八门,常见的有JSON ...
- java中为什么byte的取值范围是-128到+127
概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是000101 ...
- 一、Java语言基础
1.标识符和关键字 标识符是java中必须使用的,具有一定的规则,用来标识类名.变量名.方法名.数组名.文件名等. 例:int i = 100; 变量i就是标识符 ...
- request请求对象实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoRequest.as ...
- oracle学习笔记——配置环境
题记:最近再学oracle,于是按照这本经典的书<Oracle Database 9i/10g/11g编程艺术>来学习. 配置环境 如何正确建立SCOTT/TIGER演示模式 需要建立和运 ...
- JavaScript中的加法运算
<head runat="server"> <title>JavaScript实现加法计算器</title> <script type=& ...
- <<易货>>项目Postmortem结果
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 一开始想做的事情还是太多,没有形成整个app的核心功能,浪费了很多时间. 是否有充足的时间来做计划? 有 ...
- Eclipse中配置Tomcat服务器
在首先外部安装好tomcat,然后在eclipse配置Tomcat服务器: 选择要配置的tomcat版本: 选择tomcat的安装的路径,选择你安装的JRE: 到此tomcat服务器就算是配置好了,接 ...