我正在使用套接字将数据从客户端发送到服务器。我的问题是,它只发送一次,永远不会再发送,我需要它每2分钟循环发送一次
port = 8000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s = socket.socket()
s.connect(("",port))
print('Puerto en', ip)
while True:
ph=phsensor()
start_counter = 1
sleep (1)
start_counter = 0
caudal = (count * 60 * 2.25 / 1000)
print("El caudal es: %.3f L/min" % (caudal))
count = 0
sleep (5)
if caudal < 1:
print("No esta llegando suficiente agua")
led1.value(1)
else:
led1.value(0)
if caudal > 2:
print("El agua esta circulando bien")
data=';'.join([str(caudal),str(ph)]).encode('utf-8')
s.send(data)
dataFromServer = s.recv(1024)
好吧,让我给你一些建议:
首先:当您使用套接字或其他I/O外围设备时,永远不要休眠正在运行I/O操作的线程,因为这样会阻塞外围设备,并且会带来一些性能问题。让我共享一个link来使用python中的
Thread.sleep
第二:您共享的代码表明您的程序是单线程的,并且您正在使用
sleep
,这打破了第一点。我建议您使用线程,这里您有一个link来了解如何使用它们第三:尝试创建一个始终运行的主线程,不管它是否在等待信号,比如按键或其他事件。第二个线程的任务是检查调用send方法的时间
这些是我的建议,我希望你能解决你的问题或家庭作业
相关问题 更多 >
编程相关推荐