Problem z TCP/IP, zwalnia w czasie

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Mirasoul
Posty: 5
Rejestracja: 06 sie 2013 10:52
Wersja środowiska: LabVIEW 2012

Problem z TCP/IP, zwalnia w czasie

Post autor: Mirasoul » 23 paź 2018 10:20

Witam,
mam problem z szybkością działania aplikacji.
App ma wysyłać dane do server`a, ten z kolei przesyła dane do PCB -> ta wysyła feedback, app odbiera feedback i przesyła kolejne dane.
Wszystko nie powinno zając więcej niż 200ms - zrzut z wireshark to potwierdza(patrz załączone).
10.93.1.105 - server
10.93.1.244 - klient

Klient wysyła dane, server odpowiada w ciągu 80ms, a potem dzieje się magia. Aplikacja nie odbiera danych szybciej niż po 500ms.... mało tego, zwalnia w czasie, po minucie juz jest prawie sekunda, po 3-4minutach z 5s....

Nie mogę namierzyć błędu. Bufor z danymi ie jest na tyle duży żeby aż tak spowalniać aplikację.
Myśłałem, że dodanie semaforów rozwiąze problem, ale przecież jest to komunikacja full duplex, więc to bez sensu.

Ktoś ma jakieś pomysły?
pozdrawiam
Załączniki
tunis.protocoles.eth.service.read_buffer.vi
(37.7 KiB) Pobrany 29 razy
tunis.protocoles.eth.service.tx_header.vi
(17.19 KiB) Pobrany 28 razy
tunis.protocoles.eth.stateMachine.vi
(59.42 KiB) Pobrany 30 razy
no tittle.png

Awatar użytkownika
Pitol
Moderator
Posty: 928
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków
Has thanked: 2 times
Been thanked: 8 times

Re: Problem z TCP/IP, zwalnia w czasie

Post autor: Pitol » 23 paź 2018 13:45

Niewiele można wywnioskować z Twoich VI.

Jedyne co widzę, to operowanie na referencjach do tablic (rx.MsgDataSoftware i rxMsgData). Jeśli te tablice są zapełniane dość często i dość sporą ilością danych, odświeżenie ich wartości może wymagać coraz więcej czasu.

Na potrzeby testu usuń wpisywanie wartości do tablic (prop. node) i zobacz czy ma to wpływ na pracę Twojego programu.
ObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj

ODPOWIEDZ