Я пишу программу на Java, где есть связь между двумя или более компьютерами, использующими UDP. Мое приложение отправляет объекты после сериализации их по сети на другой компьютер, где оно будет десериализовано и обработано. До сих пор мне удалось отправить один вид объектов.
Моя проблема в том, что я хочу, чтобы отправитель мог отправлять объекты различного типа, а получатель мог их получать и снова приводить к соответствующим типам. Однако, поскольку UDP выделяет байтовый буфер, а затем получает данные в буфер, невозможно преобразовать или определить тип полученного объекта, поскольку разные объекты имеют разные размеры.
Есть ли способ, с помощью которого я могу отправлять различные типы объектов с использованием UDP, а затем получать их на другом конце? (Я не прошу код здесь, только некоторые идеи)
Спасибо
Edit:
Я ищу лучший способ отправки / получения различных типов объектов, не зная, какой тип следующего ожидаемого объекта. Скажем, у меня есть три типа объектов, и я ожидаю получить любой из них в любое время.
Еще одна вещь, которая пришла мне в голову после комментария Брайана: как установить размер буфера для типов данных переменного размера, таких как Strings, Arrays и т. Д. Как и при получении пакета UDP, вы должны сначала выделить буфер с размером для получения этого объекта. Это как-то связано с моим первоначальным вопросом.