В Java, как бы вы настроили слушатель сокета, который прослушивал сокет для серии байтов, представляющих команду, и при получении вызывал метод, который анализировал входящие данные и вызывал соответствующую команду?
Пояснение:
Моя проблема не в обработке команд (которые также могут быть кодами ошибок или ответами на команды от сервера), а в создании сокета и его прослушивании.
Больше разъяснений:
Я хочу подражать следующей строке .Net (C #) кода:
_stream.BeginRead(_data,0, _data.Length, new
AsyncCallback(this.StreamEventHandler), _stream);
Где:
- _stream - это сетевой поток, созданный из сокета
- _data - массив байтов длиной 9
- this.StreamHandler - это делегат (указатель на функцию), который выполняется при чтении данных.
Я переписываю библиотеку из C # в Java, и компонент, который я сейчас пишу, передает команды на сервер через TCPIP, но также должен иметь возможность всплывать события / ответы для уровня над ним.
В C # это кажется тривиальным и выглядит все менее и менее в Java.