ЧТО Я ХОЧУ ДЕЛАТЬ
У меня есть два python файла с именем
1. gps_transmitter.py
2. data_uploader.py
gps_transmitter.py прост. У него бесконечное время, пока l oop. Он распознает данные gps от последовательного порта и передает данные через сокет через протокол UDP.
Загрузчик данных является головным. Он собирает много информации, делает некоторую математическую информацию и воспринимает их на сервере. Он получает данные GPS из сокета.
ЧТО ПРОБЛЕМА, КОТОРАЯ Я НАХОДИТСЯ
Suposse gps_transmitter воспринимает значение как 1,2,3,4,5 , 6,7,8,9,10 и data_uploader должны воспринимать каждое второе значение, значение, которое я фактически получаю, составляет 2,3,4,5 вместо 2,4,6. Я думаю, что проблема заключается в размере бифера. Поскольку я определил
data, addr = sock.recvfrom(1024)
data = data.decode("utf-8")
2,3,4,5 .., они хранятся в буфере и впоследствии (например, через каждые 10 секунд) очищаются. Существует ли какой-либо метод "гриппа sh", с помощью которого я могу буферизовать буфер sh и только что прочитать. Один метод грубой силы, который я применил для инициализации сокета каждый раз, когда l oop , Но я думаю, что это очень неэффективный метод.
while:
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
data, addr = sock.recvfrom(1024)
data = data.decode("utf-8")
# do something..
time.sleep(10)
Я новичок в реализации сокетов и underhood. Пожалуйста, предложите решение