如何使用 Python 忽略来自服务器的随机值

问题描述 投票:0回答:0

我正在处理连接到服务器的客户端代码。服务器正在执行一些任务并每 1 秒继续返回一次数据。这个数据是元组

(7.6, 37)
,其中
7.6
是一个区域的值(可以是0到55之间的任何值),
37
是数据的id。这个 id 就像计数器一样,当服务器启动时从 0 开始并一直递增直到服务器重新启动。

客户端代码必须查看面积值何时小于

10.0
并执行进一步计算。有时在服务器之间发送一些噪音值,其中面积小于
10.0
,所以我们必须忽略它,但如果面积值小于
10.0
超过 10 秒,这意味着它不是噪音,我们可以继续进行计算。所以噪音值将始终存在 3-4 秒,但如果超过 10 秒,则不是噪音。

为了处理这个问题,我编写了以下一些逻辑。

runOnce = True

data = server.recv()  # Getting the values from server
area = data[0]
id = data[1]


if area < 10.0:
    if runOnce:
        checkId = id + 10
        runOnce = False
    else:
        if checkId > id:
            # This data is not noisy

所以在上面的代码中,我将变量

runOnce
设为 True。一旦我收到面积值,我就用
checkId
设置一个
id+10
变量,所以如果当前 id 是 50,那么我将在 60 处检查。所以在第 60 个 id 如果面积仍然小于 10,这意味着,它有已经 10 秒,因此当前数据没有噪音。这似乎工作正常但它实际上是噪音然后这段代码没有报告它。

我该如何处理这个逻辑?

python-3.x client-server
© www.soinside.com 2019 - 2024. All rights reserved.