Il semble qu'il y ait quelques modules disponibles pour Node.js de plusieurs personnes à travailler avec des tampons de protocole. Certains sont plus ou moins gérés activement. J'ai trouvé https://github.com/chrisdew/protobuf qui semble fonctionner bien. Mais existe-t-il un chemin éprouvé (officiellement certifié)? P>
4 Réponses :
Il n'y a pas d'implémentations officielles de Protobuf à part Java, Python et C ++. Pour Node.js, vous voudrez probablement aller avec ChrisDew car c'est celui sur NPM. J'utilise personnellement mon propre Fork car je dois travailler avec Int64's. P>
Pouvez-vous élaborer pourquoi vous avez animé la mise en œuvre de Chris Dew? Quel est votre cas d'utilisation? Merci.
@shargors: Je développe un NODE.JS Mise en œuvre de Steam . Steam utilise larbuf de manière approfondie et passe beaucoup autour d'INT64. Le module de Chrisdew convertit Int64 en chiffres, perdant la précision, qui est inacceptable pour moi.
Voulez-vous dire que lorsque le proto buf int64 est converti en numéro JavaScript, la précision est perdue? Comment cela pourrait-il être?
Et si tel est une question, pourquoi ne pas vérifier une solution dans la base de code de Chris Dew sur GitHub?
@shaargors: Les numéros JavaScript sont des flotteurs 64 bits - suffisamment pour stocker des INT 32 bits, mais pas de 64 bits INTS. Essayez de taper "76561197976267165" (sans citations) dans une console JS et voyez ce que vous obtenez. J'ai déjà ajouté un Demande de pull à la répétition de Chrisdew, mais il ne semble pas l'aimer et je m'en fiche vraiment.
Nicholas, c'est génial! Merci de vos informations!
Sans doute ... Le meilleur, complet et magnifiquement conçu est: protobuf.js p>
acclamations! p>
La mise en œuvre de Chrisdew n'est peut-être pas la meilleure option si vous utilisez Windows, dans ce cas, vous devez vous assurer que toute la bibliothèque C ++ est installée. Sinon, vous pourriez rencontrer des problèmes tels que celui-ci github.com/chrisdew/protobuf/issues/222. Donc, je suggère qu'il vaut mieux aller avec protobuf.js.
Vous avez déjà une version officielle JS Google. Vous pouvez le télécharger ici ici https://github.com/google/protobuf/relases p>