Мне было интересно, есть ли у кого-то ресурсы, описывающие бинарный протокол, используемый ObjectOutputStream
. Я понимаю, конечно, что сами объекты могут указать, что их данные, реализуя интерфейс Externalizable
, поэтому я предполагаю, что я больше смотрю на структуру графа объектов - метаданные, если хотите.Объект (Output | Input) Бинарный протокол потока
Я пишу программу на C, которая должна поговорить с унаследованной программой Java. У меня нет никакого способа изменить ни одно из этих требований, поэтому найдите обратную разработку протокола ObjectOutputStream
. (Существует сервер, который использует HTTP для транспорта и возвращает Object * Stream как ответ HTTP.)
Однако, я чувствую, что кто-то еще должен был сделать эту работу раньше. Можете ли вы указать на какие-либо ресурсы, чтобы ускорить мою работу?
Как вы собираетесь поговорить с программой Java? Есть ли сервер, обслуживающий приложение? – OscarRyz 2008-10-15 20:34:44
Вы не можете найти это? Где ты посмотрел? Очевидно, что спецификация сериализации объекта. Но в дополнение к Externalizable вам также необходимо справиться с тем, что любой класс Serializable может определять или добавлять свой собственный протокол через readObject(), readResolve(), writeObject() и writeReplace(). Это действительно делает ваш проект совершенно неосуществимым в общем случае. Если вы имеете дело только с одним фиксированным классом, исходный код которого не может измениться, вам может повезти. Вы должны действительно проверить все требования. Вы не можете практически реализовать сериализацию правильно без JVM. – EJP 2014-02-22 23:27:38