我用Python编写了简单的包嗅探器。我需要不停地接收数据包,每10秒发送一个数据包。我试过了:
current = time.time()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("xx.xx.xx.xx",xxxx))
time.sleep(0.5)
while True:
msg = str(s.recv(4096))
time.sleep(0.010)
print msg
if current==current+10:
s.send("<myPacket/>")
current = time.time()
但效果不好。有人有更好的主意吗?在
您的时间处理不好,请使用以下方法:
你的代码不起作用是因为:
“当前”永远不能等于自身+10。在
还要注意时间。时间()返回浮点值,例如:1440185304.78
这是非常精确的时刻,你不应该假设你可以找到确切的浮动+10回来。在
在这种情况下,使用更大/更小的语句更好,因为在循环中运行任何内容时,可能会传递确切的值,例如:
^{pr2}$相关问题 更多 >
编程相关推荐