2011-09-25 4 views
0

Je dois développer une application qui communique avec un serveur https. Cette application doit effectuer un transfert de données asynchrone.Client HTTPS asynchrone simple Java

J'ai d'abord essayé d'utiliser un HttpsURLConnection et de gérer le inputStream retourné en utilisant un thread séparé avec un objet observable. La classe d'observateur appelle la méthode de mise à jour qui ferait des choses. Le problème avec cette approche est que je lis ici: HTTPUrlConnection error (Can't open OutputStream after reading from an inputStream) que HttpUrlConnection ne peut pas gérer plus d'une seule écriture/lecture. Ce poste ne m'a pas aidé de toute façon. J'ai lu à propos de Jetty et de l'Apache HttpClient, mais ces bibliothèques sont de 2,8 et 4 mégaoctets, soit plus de 10 fois plus que l'application que je dois écrire. Donc: Je suis à la recherche de bibliothèques java très simples et peut-être légères pour gérer une connexion https asynchrone, ou un moyen d'utiliser plusieurs fois une connexion comme la connexion HttpURLConnection (la deuxième solution serait plus appréciée car mon programme ne pas besoin de faire quelque chose de plus complexe et je n'ai pas besoin d'importer d'autres bibliothèques). Btw: j'utilise le serveur http pour faire le serveur https s'il est utile de le savoir. Si vous avez besoin de moi pour poster des parties de mon code pour vous aider à mieux comprendre ce que je fais, il suffit de demander.

Merci

+2

À moins que vous n'écriviez une application pour téléphone intelligent, un supplément de 4 Mo est insignifiant étant donné le temps et l'argent que vous économiserez en n'ayant pas à chercher ailleurs ou à rouler le vôtre. –

+0

Actuellement, ce n'est pas pour un smartphone, mais je ne peux pas exclure qu'il devra être porté. Mais de toute façon, à votre avis, l'apache httpclient fait-il ce dont j'ai besoin d'une manière relativement simple? Je veux dire que je n'ai pas besoin de faire quelque chose de complexe comme je l'ai dit, une fois qu'il me donne des https et des demandes asynchrones, il fait tout ce dont j'ai besoin. Donc, si à votre avis le client apache de ce point de vue est "meilleur" que jetty, ning ou des bibliothèques similaires que cela pourrait être une solution. – MastErAldo

Répondre

1

Si la taille de la bibliothèque compte vraiment, vous pourriez envisager d'utiliser HttpCore. HttpCore est un ensemble de composants de transport HTTP de bas niveau sur lesquels Apache HttpClient est basé. Son empreinte est d'environ 200-250 Ko. Pourquoi ne pas utiliser Apache HttpClient?

+0

Merci pour les réponses, demain j'essaierai de découvrir quelles bibliothèques correspondent le mieux à mes besoins – MastErAldo