netty имеет разные кодеки для сериализации данных. По умолчанию ObjectEncoder
появляется для сериализации заголовка, включая uid класса java, а затем добавляет обычную сериализацию объекта java. Маловероятно, что вы захотите реализовать аналог в Dart.
Вам нужно найти представление данных, которое вы можете генерировать / анализировать в netty и Dart. В одном крайнем случае вы можете использовать netty ByteBuf
. Будет довольно ясно, как netty сериализуется в ByteBuf
, и вы можете имитировать это в конце Dart, используя ByteData
. С другой стороны, вы можете едва использовать сериализацию netty. Вы можете закодировать ваш Java-объект в строку JSON utf8, отправить ее, а в конце дротика просто декодировать utf8 и json. Конечно, это не дает вам компактное представление. Если вам нужно компактное представление, доступное в Java и Dart, подумайте о protobuf. * 1007 *
Если вы получаете две системы на двух разных языках для взаимодействия, вы должны отвечать за то, как они обе выполняют сериализацию / десериализацию. Использование netty ObjectEncoder
кажется плохой идеей, так как слишком сильно зависит от внутренней сериализации Java-объектов, которая не имеет аналогов в конце Dart.