1

假设我们有一个从传感器接收数据的平台。我们使用 TR(检索时间)显示将数据值从传感器发送到平台的测量时间。我想要的只是在 Python 中可以使用什么代码来计算 TR 和 RTT(往返时间)。

4

1 回答 1

1

您没有提到延迟阈值和协议等细节。我认为您最好的选择是设置客户端/服务器 ping/pong 服务器。

这是一些简单的 zeromq python 代码(请求/回复模式)来测试延迟(单程和往返)

服务器.py

import zmq,time,sys

ctx =zmq.Context()
socket = ctx.socket(zmq.REP)
socket.bind('tcp://*:9999')

while True:
    msg = socket.recv()
    print "client->server msg took",time.time()-float(msg)
    socket.send(msg)

客户端.py

import zmq,time,sys                                                                                                                        

ctx =zmq.Context()                                                                                                                         
socket = ctx.socket(zmq.REQ)                                                                                                               
socket.connect('tcp://localhost:9999')                                                                                                     
for i in xrange(10):                                                                                                                       
    socket.send(str(time.time()))                                                                                                          
    msg = socket.recv()                                                                                                                    
    print "message id",i,"RT",time.time()-float(msg)    

您可以同时运行它们以提供延迟统计信息。这是你想要的?

于 2017-01-14T18:43:06.570 回答