gpt4 book ai didi

Python计时套接字连接

转载 作者:可可西里 更新时间:2023-11-01 09:48:15 26 4
gpt4 key购买 nike

我希望获得使用 TCP 完成到服务器的往返所花费的时间。使用 Windows 客户端时。(我会使用 ping 但服务器阻止了它)

我正在考虑使用 python 和套接字来完成这个,我目前已经有了。

import time
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM )

start = time.time()
s.connect(('localhost',80))
print 'time taken ', time.time()-start ,' seconds'

s.close()

我遇到的问题是我认为连接计时器没有工作,因为我经常收到相同的时间戳返回。有人可以指出正确的方向来解决这个问题。

最佳答案

在 Windows 上,time.time() 值没有足够的粒度(只有 1/60 秒)。使用 time.perf_counter()它在 Windows 上具有大约 1/3 微秒的分辨率,而是:

start = time.perf_counter()
s.connect(('localhost',80))
print 'time taken ', time.perf_counter()-start ,' seconds'

这是与 timeit module 相同的计时器使用;你可以使用 .default_timer()改为定义:

import timeit

start = timeit.default_timer()
# etc.

这也适用于 Python 2,其中 time.perf_counter() 不可用,但是 timeit.default_timer()将引用适用于您的操作系统的最佳计时器(Windows 上的 time.clock(),分辨率约为 1/100 秒,time.time()在其他系统上)。

关于Python计时套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com