Имеется клиент серверное приложение.Между клиентом и сервером происходит обмен примитивными типами данных, для этого использую Data(Input/Output)Stream.
Имеется ли возможность как то определять какой тип пришел по DataInputStream, чтобы можно было его соответствующий образом считать(readUTF,readInt и т.д)?
Если я правильно понял суть вопроса...
Сокет, лишь точка обмена данными приложения, по транспортному уровню, транспортному уровню в свою очередь, совершено не интересно что за данные он передаёт. Интерном это лишь прикладному уровню, на котором находится ваше приложения, соотвественно, если вам надо как-то работать с данными, все проверки, валидацию, и прочие, вы должны делать на прикладном уровне, то есть в вашем приложении.
Соотвественно обрабатывайте данные, на самом приложении, используйте готовые приложения, или примените какой-то прикладной протокол.
Посмотрите в сторону grpc фрэймворка от гугла. Это по сути надстройка над http2. Protobuf протокол подразумевает строгую типизацию данных и строгое описание клиент серверного API (proto-file). Реализована генерация кода. "Из коробки" синхронные/асинхронные вызовы и потоковая работа с данными (стрим). С практической стороны, сирилизация/десирилизация данных осуществляется на уровне работы самого протокола. В случае, если данные дескриптором не парсятся, будет транспортная ошибка, во всех остальных случаях вы будете иметь строго типизированные данные.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости