使用python进行tcp协议接口的并发测试

进行 tcp 协议的接口测试 首先要了解tcp协议 以及可以使用python实现tcp协议如果之前没有掌握 可以查看我的另一篇文章https://www.jianshu.com/p/367a00db6217 

我使用的是gevent库 虽然现在asynio异步库出现 但是 有点晦涩难懂 所以我使用的是gevent库来实现并发

# 这是我写代码 
import gevent

from 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)  这段代码来执行所有准备的请求

你可能感兴趣的:(使用python进行tcp协议接口的并发测试)