Примеры Python open-dis работают не так, как ожидалось

Я пытаюсь правильно запустить пакет python open-dis на моем компьютере. Я использую Python 3.8.

Используя pip, я компилирую пакет из исходного кода следующим образом: pip install .

После этого, как указано в документации. я бегу python dis_receiver.py

Меня сразу встретила такая ошибка:

Created UDP socket 3001
Traceback (most recent call last):
  File "dis_receiver.py", line 40, in <module>
    recv()
  File "dis_receiver.py", line 27, in recv
    data = udpSocket.recv(1024) # buffer size in bytes
socket.timeout: timed out

Я действительно не понимаю, почему это происходит, учитывая, что я абсолютно ничего не изменил в документированном примере процесса. Есть идеи, почему это происходит?

1 ответ

Решение

Оказывается, тайм-аут сокета истекает через 3 секунды. Это установлено здесь:

udpSocket.settimeout(3) # exit if we get nothing in this many seconds

Просто измените это значение на более высокое, чтобы дать себе дополнительное время, без тайм-аута сокета.

udpSocket.settimeout(20000) # exit if we get nothing in this many seconds
Другие вопросы по тегам