使用Python以特定速率发送TCP消息

时间:2013-11-05 18:26:18

标签: python asynchronous tcp load traffic

我试图通过向服务器发送TCP消息来为服务器生成一些流量。 为此,我使用的是一个Python脚本,它打开一个TCP套接字然后通过它发送一些数据。收到回复后,TCP连接将关闭。

问题:我希望能够预定义脚本将请求发送到服务器的速率,例如:每秒5条消息。但是,我不知道如何通过Python编写脚本:(。

任何人都知道如何做到这一点(一个简短的例子就是超级!;)?

提前致谢。

注意:我可能需要添加额外的难度:因为服务器必须回复, 我想我必须使脚本异步工作......这样,我可以 发送请求,而不必等待上一个请求的回复......

1 个答案:

答案 0 :(得分:1)

您正在寻找的是token bucket algorithm的实施。它类似于具有固定容量的存储桶,其中每个消费者在获得令牌之前无法执行操作,并且存储桶以固定速率重新填充。

该算法易于实现,但下面的链接有一个例子:

http://code.activestate.com/recipes/511490-implementation-of-the-token-bucket-algorithm/