Witam,
Piszę aplikacje w builder6 c++ wykorzystując biblioteke sieciowa INDY10. Aplikacja wykorzystuje protokół UDP do komunikowania się z modułami (AVR). I wszystko działa. Niestety ostatnimi czasy potrzebowałem sterować urządzeniem zewnetrznym ( amplituner Marantz), który wykorzystuje stos TCP/IP. Urządzenie reaguje na ramki wysłane przez TCP/IP wszystko ładnie sie uruchamia ale.... po tym połączeniu aplikacja się wiesza i cokolwiek chcę włączyć wywala błąd AV (access violation). Mam kilka pytań : 1. Czy stos TCP/IP może pracować równolegle z pakietami UDP, które rozsyłane są cały czas do modułów ? 2. Czy przy wywołaniu komendy rozłączenia połaczenia TCP (idTCPClient->Disconnect()) nie narusza w jakimś stopniu protokołu UDP ?
Aplikacja, bez sterowania Marantzem - czyli same pakiety UDP działa prawidłowo. Ale po niby poprawnym przesłaniu ramki po TCP/IP aplikacja świruje. Próbowałem różnych sposób rozłączenia stosu ( czyscilem bufor IO przed rozłączeniem).
Z góry dziękuję za pomoc.
|