Реализация метода, использующего TCP/IP

При подключении к управляемому устройству есть возможность отправить на него команду или запрос в виде блока данных(asdu). Также есть возможность задать на соединение свой ReceivedHandler - метод, который будет обрабатывать приходящие по соединению блоки данных.

Как можно реализовать метод, который бы отправлял команду(опроса, например) и возвращал в return ответ устройства(asdu-данные), учитывая, что данные с устройства поступают без остановки(т.е. не только в ответ на мой запрос), но нам известен тип нужного блока?

Upd. А именно, как выловить блок данных, находясь в методе?


Ответы (1 шт):

Автор решения: NaN

Как вариант, можно сохранять все приходящие блоки как значения в каком-нибудь словаре, а ключом будет время получения данных, и искать блок нужного нам типа, который пришёл после старта метода(команды/опроса).

→ Ссылка