Тайм-аут сокета не работает Python lora

Я noob с 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`

Проблема в том, что тайм-аут не работает, я проверил некоторые ответы, но код выглядит хорошо для меня, не могли бы вы помочь мне, пожалуйста?

С уважением

1 ответ

Вам не нужен "socket.error" в вас, кроме оператора, вы должны просто сказать, кроме. Просто подсказка, для вашего утверждения "n=n+1" вы можете просто сделать "n+=1". Просто помогает ускорить вещи, я думаю. Для вашего оператора "break" в конце, после него есть метка, которая может вызвать ошибку. Во всяком случае, я надеялся, что помог каким-то образом! Примечание: я не кодирую LORA. Я кодирую INET и SOCK_DGRAM, SOCK_STREAM. Надеюсь, я помог!

Другие вопросы по тегам