Я пишу приложение, используя C++Builder 6 и Indy 10. Приложение использует протокол UDP для связи с модулями (AVR). Все работает нормально. К сожалению, теперь мне нужно управлять внешним устройством (ресивером Marantz), которое вместо этого использует TCP.
Устройство начинает отвечать на кадры, отправленные по TCP, все хорошо .... но затем приложение зависает и вылетает. Все, что я пытаюсь сделать, вылетает с ошибкой нарушения прав доступа.
У меня есть несколько вопросов:
Может ли стек TCP/IP работать параллельно с UDP-пакетами, отправляемыми другим модулям?
Влияет ли метод
TIdTCPClient::Disconnect()
на UDP?
Приложение корректно работает с UDP без управления Marantz. Но обмен якобы правильными TCP-сообщениями выводит приложение из себя. Я пробовал другой способ отключения стека (очистка буфера ввода-вывода перед отключением и т. д.).