Je me demandais si quelqu'un avait des ressources qui décrivent le protocole binaire utilisé par ObjectOutputStream
. Je réalise bien sûr que les objets eux-mêmes peuvent spécifier leurs données en implémentant l'interface Externalizable
, donc je suppose que je regarde plus vers la structure du graphe d'objet - les métadonnées si vous voulez. Je suis en train d'écrire un programme C qui doit parler à un programme Java hérité. Je n'ai aucun moyen de changer l'une ou l'autre de ces exigences, alors trouvez moi le reverse engineering du protocole ObjectOutputStream
. (Il existe un serveur qui utilise le protocole HTTP pour le transport et renvoie Object * Stream comme réponse HTTP.)Objet (Sortie | Entrée) Protocole binaire de flux
Cependant, je pense que quelqu'un d'autre a déjà fait ce travail auparavant. Pouvez-vous indiquer des ressources pour accélérer mon travail?
Comment allez-vous parler au programme Java? Y a-t-il un serveur qui dessert l'application? – OscarRyz
Vous ne trouvez pas cela? Où avez-vous regardé? Évidemment, la spécification de sérialisation d'objet. Mais en plus d'Externalizable, vous devez également gérer le fait que toute classe Serializable peut définir ou ajouter son propre protocole via readObject(), readResolve(), writeObject() et writeReplace(). Cela rend vraiment votre projet tout à fait infaisable dans le cas général. Si vous ne traitez qu'une classe fixe dont le code source ne peut pas changer, vous pourriez avoir de la chance. Vous devriez vraiment obtenir l'ensemble de l'exigence examinée. Vous ne pouvez pratiquement pas implémenter la sérialisation correctement sans une machine virtuelle Java. – EJP