监视套接字连接

时间:2018-08-14 08:48:27

标签: python

我有一个要监视的套接字连接,它消除了突发性高的市场数据。

while 1:
    socket.recv()        
    print('data recevied')

while循环仅应执行打印,每60秒执行一次。

2 个答案:

答案 0 :(得分:1)

尝试一下:

from datetime import datetime

last = datetime.now()
while 1:
    socket.recv()
    if (datetime.now() - last).seconds >= 60:
      print("data received")
      last = datetime.now()

答案 1 :(得分:0)

您想要在此处进行某种异步处理:一方面,您想要连续接收数据,另一方面,您希望每60秒显示一条消息。

所以线程化是我的第一个想法:前台接收消息,而后台接收消息。

.bat

您没有在邮件中显示任何有趣的数据,因此我也没有。但是,由于所有全局变量都是共享的,因此显示例如自上一条消息以来收到的字节数将很简单

或者,您可以使用def recv_loop(socket, end_cond): while True: socket.recv(1024) # assuming something ends above loop end_cond[0] = True end = False recv_thr = threading.Thread(target = recv_loop, args = (socket,[end]), daemon = True) recv_thr.start() while not end: time.sleep(60) print('data received') ,因为它会使您超时。因此,您可以更改线程以进行更复杂的超时处理。

select.select