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 »

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 338 razy
tunis.protocoles.eth.service.tx_header.vi
(17.19 KiB) Pobrany 334 razy
tunis.protocoles.eth.stateMachine.vi
(59.42 KiB) Pobrany 354 razy
no tittle.png
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Problem z TCP/IP, zwalnia w czasie

Post autor: Pitol »

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.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ