2009-09-03 5 views

Répondre

11

Il y a deux principales implémentations de buffers Protocole:

  • Mine (la plupart du temps un port du code Java)
  • ProtoBuf-Net Marc Gravell (plus WCF amicale, reimplementation sol-up)

Je sais que Marc était au milieu d'un refactoring majeur il y a quelques temps; Je ne sais pas s'il l'est encore. Mon propre port fonctionne autant que je le sache (il existe un bug dans le dimensionnement de type compact qui a été signalé il y a quelques jours) mais il manque un peu de poli du côté de la génération. Certains utilisateurs sont intéressés par la compatibilité Silverlight sur laquelle j'ai travaillé mais que je n'ai pas encore essayée. (Fondamentalement, il y a quelques méthodes manquantes dans Silverlight que j'utilisais, je pense que mai les ai toutes migrées maintenant - j'ai besoin de vérifier.)

Je ne sais pas si l'une ou l'autre implémentation est en production pour tous les systèmes, mais je serai heureux d'essayer de corriger les bugs que vous soulevez. Notez que je suis pas ayant l'intention d'implémenter les PB "allégés" qui sont apparus dans le code 2.2 principal; ils rendraient l'héritage déjà compliqué plus méchant. Je vais introduire une option supplémentaire pour permettre au mode (optimisation de la vitesse/taille) d'être spécifié séparément pour C# bientôt.

+0

Eh bien, cela semble assez bon pour moi!Je vais télécharger et jouer avec. J'étudie une solution rapide et compacte pour une vénérable implémentation de CORBA et la qualité de production est l'une des caractéristiques les plus importantes. – Fortyrunner

3

Doh .... John Skeet m'a battu à elle!

Vous devez regarder la page Other languages implementations sur la page de code Google protobuf ...

Il y a 3 .net implémentations.

dotnet-protobufs by Jon Skeets

protobuf-net by Marc Gravell

protosharp

Le premier est un C# clone de l'original qui protobuf prise en charge que C++, Java et Python.

Le second a été considérablement étendu pour s'adapter davantage à C# et peut même être utilisé à la place de l'accès à distance natif. Je l'utiliserais si vous ne faites pas de travail multiplateforme.

Lorsque j'ai regardé le dernier n'a pas vu de bonne raison de l'utiliser au cours des deux premiers.

+0

Euh, protobuf-net c'est celui de Marc ... tu voulais dire mettre protosharp en dernier? –

+0

oui je l'ai corrigé .... – AnthonyLambert

+0

Merci pour ces liens. Ils m'intéressent tous, l'un des principaux critères est de savoir s'ils sont de qualité de production. J'ai fini par utiliser des bibliothèques dans le passé qui n'ont pas été complètes et je l'ai regretté. Bien sûr, ce que je devrais faire est d'offrir de les aider à les finir! – Fortyrunner

Questions connexes