2010-02-16 14 views
2

J'ai besoin d'un mécanisme d'authentification et de transfert de données simple et léger (sur plate-forme .NET). J'ai regardé un WCF et un savon etc. ils semblent tous trop lourds et compliqués pour mes besoins. J'ai besoin de quelque chose de simple et direct qui m'amène à un protocole de discussion comme Jabber. Mon transfert de données est principalement petit - exemple: l'utilisateur recherche quelque chose et obtient des résultats, etc.Transfert de données en utilisant XMPP - des raisons pourquoi pas?

Étant donné que Jabber fait l'authentification, le cryptage et ce que vous avez, des raisons pour lesquelles je ne devrais pas l'utiliser? suggestions sur les suppléants?

Merci

Répondre

0

Sons comme XMPP pourrait être un bon ajustement, mais vous devriez considérer HTTP ainsi. XMPP n'a probablement de sens que si vous avez vraiment besoin de messagerie/transfert avec état. HTTP pourrait très bien fonctionner pour les connexions de longue durée si vous utilisez par exemple. Transfert-Encodage: chunked.

+0

En effet! À part les communications avec état, il y a un élément collaboratif dans mon application. Merci pour la réponse. – Mikos

0

Pour datatransfer, pourquoi ne pas utiliser une connexion HTTP standard simple?

1

Résultats de la recherche ne sonnent pas de pair à pair (la recherche a tendance à être colocalisé avec le datastore est la raison pour laquelle je devine que), auquel cas HTTP correspond probablement à vos besoins. Ecrivez votre serveur dans quelque chose que ce soit et utilisez un WebClient, fournissant une authentification à chaque requête. Vous pouvez utiliser l'authentification Digest si vous êtes préoccupé par la sécurité. L'inconvénient de XMPP est que vous devez vous soucier de rester connecté, et qu'il y a beaucoup d'informations superflues sur le réseau. Par exemple, présence, iq, négociation de protocole. Aussi ejabberd (pas sûr des autres - y a-t-il un gros serveur .Net XMPP?) A tendance à essayer de négocier SSL. Si vous ne vous inquiétez pas de la bande passante, vous ne vous inquiétez probablement pas de ce qui précède, mais le modèle de programmation le plus simple est certainement un WebClient qui envoie des requêtes sans état. Vous n'êtes jamais déconnecté et la gestion des erreurs est simple. OTOH votre réponse au commentaire ci-dessus semble impliquer que vous pourriez avoir des éléments P2P, auquel cas HTTP ne servira probablement pas, sauf si vous incorporez un peu de traversée de réseau et de proxy pour exposer les pairs comme des adresses publiques à L'un et l'autre. XMPP est WAY plus simple que cela.

Nous avons une application de théâtre de conférences en réseau transfert 750MB/s en toute transparence sur XMPP. Vous trouverez probablement qu'il gère la charge ok.

Je recommande ejabberd sur le serveur (il est multi-plateforme et incroyable) et agsXMPP pour le client.