0

我是 python 和 lora 的菜鸟,我想打开一个套接字等待消息,如果没有消息然后做其他事情,我的代码到目前为止是:

from network import LoRa
import socket
import machine
import time
import binascii
import network

n = 0
try:
   the_sock = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
except socket.error:
   exit('Error creating socket.')
the_sock.settimeout(5)
while True:
    try:
        n=n+1
        print("Hola"+str(n))
        time.sleep(1)
        the_sock.setblocking(True)
        ack = the_sock.recv(HEADER_SIZE)
    except socket.timeout, e:
        err = e.args[0]
        print(err)
        break`

问题是超时它不起作用,我检查了一些答案,但代码对我来说看起来不错,你能帮我吗?

亲切的问候

4

1 回答 1

0

你不需要在你的except语句中使用“socket.error”,你应该只说except。只是一个提示,对于您的“n=n+1”语句,您可以只执行“n+=1”。只是有助于加快我猜的事情。对于你最后的“break”语句,后面有一个标记,这可能会导致错误。无论如何,我希望我能以某种方式提供帮助!注意:我不编码 LORA。我对 INET 和 SOCK_DGRAM、SOCK_STREAM 进行编码。希望我有所帮助!

于 2018-02-09T01:30:04.833 回答