进行 tcp 协议的接口测试 首先要了解tcp协议 以及可以使用python实现tcp协议如果之前没有掌握 可以查看我的另一篇文章https://www.jianshu.com/p/367a00db6217
我使用的是gevent库 虽然现在asynio异步库出现 但是 有点晦涩难懂 所以我使用的是gevent库来实现并发
# 这是我写代码
import geventfrom geventimport monkey; monkey.patch_all()
import socket
def test1(num):
test = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
test.connect(('115.29.177.5', 7000))
test.send(('{"st":"HB"}$_header_${"code":-3507,"msg":"%d"}$_package_$'%num).encode('utf-8')) # 这段代码是发送给服务器的信息
server_data = test.recv(1024)
print('the server respond', server_data.decode('utf-8'))
a = [gevent.spawn(test1, i)for i in range(10001)] # 使用列表推导式
print(a)
gevent.joinall(a)
我们用test1的函数来封装我们所需要 的tcp请求
('115.29.177.4', 7000) 这个元组 代表着 服务器的ip地址和端口号
gevent.spawn(test1, 参数) 我们可以把这段代码理解为 并发的准备 来为了 1s中实现1w个异步请求
然后我创建了一个 列表为a 使用列表推导式 来进行 10000个并发的准备
gevent.joinall(a) 这段代码来执行所有准备的请求