Есть ли какая-либо функция, как recv_until () в сокете для Python? - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить данные от DataTaker DT85 через TCP-IP, но полученные данные - не все, что DT85 должен отправить.

Задержка исправила проблему для меня, но я думаю, что это не такхорошая идея использовать задержку, потому что если получение сообщения занимает больше времени, чем задержка, у меня снова возникнет проблема.Есть ли какая-нибудь функция, чтобы исправить эту проблему хорошим способом?

try:
    s.send((messageToSend.encode()))
    debug(f"Sending message: {messageToSend}")
except:
    debug("Sending message failed \n")

sleep(4)

try:
    data = s.recv(BUFFER_SIZE)
    debug(f"Received data: {data} \n")
    debug(f"{data.decode('utf-8')} {TERMINATOR}")
except:
    debug("Receiving data failed \n")
    data = ""
...