Примеры 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