IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Réaliser un mini serveur web


Sujet :

API standards et tierces Android

  1. #1
    Invité
    Invité(e)
    Par défaut Réaliser un mini serveur web
    Explication :
    Je suis en train de réaliser une application qui comporte une partie "client" sur Android, et une partie "serveur" sur PC.
    Plutôt que de distribuer les 2 séparément, je souhaite plutôt que l'on puisse télécharger la partie "serveur" depuis le téléphone à partir du PC.

    Je compte utiliser le protocole HTTP.
    Je n'ai qu'un seul fichier à rendre disponible.
    Le fichier devra être inclut dans le .apk (là non plus je ne sais pas trop comment faire)
    Le serveur doit pouvoir se lancer et se fermer rapidement.

    J'ai vu qu'il y a quelque chose à ce sujet dans la doc Android, mais je ne comprend pas à quoi servent toutes les classes.

    Vous avez des idées ? :]

    Merci !

  2. #2
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Je suis donc pas le seul a développer mon propre remote control ? ^^
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  3. #3
    Invité
    Invité(e)
    Par défaut
    héhéhé

    le mien il est plus mieux !

  4. #4
    Invité
    Invité(e)
    Par défaut
    pour inclure des fichier dans le .apk :
    http://developer.android.com/guide/t...rces-i18n.html

  5. #5
    Invité
    Invité(e)
    Par défaut
    j'ai vu le package org.apache.http,
    et plus particulièrement la classe org.apache.http.protocol.HttpService

    ça a l'air d'être ce que je veux, mais je ne trouve pas de doc sur la manière de l'utiliser

  6. #6
    Invité
    Invité(e)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                    System.out.println("attente d'une connexion");
                    Socket socket = this.serverSocket.accept();
                    System.out.println("connexion !");
                    DefaultHttpServerConnection conn = new DefaultHttpServerConnection();
                    conn.bind(socket, new BasicHttpParams());
                    HttpResponse response = new BasicHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, null));
                    HttpEntity entity = new InputStreamEntity(this.application.getResources().openRawResource(R.raw.zip), 100000);
                    response.setEntity(entity);
                    System.out.println("envoi reponse");
                    conn.sendResponseEntity(response);
                    conn.flush();
                    conn.shutdown();
    bon, c'est surement très moche, mais c'est dans l'idée de ce que je veux faire.
    Mon problème, je n'arrive qu'à récupérer le début de mon fichier : 1 ko sur 10 ko

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpEntity entity = new InputStreamEntity(this.application.getResources().openRawResource(R.raw.zip), 100000);
    La valeur 100 000 est à changer cfr: InputStreamEntity.html
    Tu dois mettre une valeur < 0 pour tout envoyer sinon tu envois juste la valeur de length (dans ton cas 100 000).

  9. #9
    Invité
    Invité(e)
    Par défaut
    J'ai essayé, mais ça n'a pas marché.
    Le téléchargement de mon fichier est toujours interrompu.

    Je suppose qu'il me manque des chose dans les "header"
    comme le type de fichier, ou le nom...

    une chose que je viens de voir : mon serveur n'attend même pas une demande du client, qu'il envoie déjà une réponse...
    Dernière modification par mlny84 ; 04/11/2009 à 15h10. Motif: Fusion

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Tu fais pas la même chose du côté client?

    Si pas tu peux poster le code complet du client et du serveur?

  11. #11
    Invité
    Invité(e)
    Par défaut
    C'est un serveur web, donc mon client, c'est mon navigateur :p
    Désolé

    Sinon, comme ce n'est finalement pas une question spécifique à Android, je l'ai reposté ici :
    http://www.developpez.net/forums/d83...i-serveur-web/

Discussions similaires

  1. « Coder » transforme un Raspberry Pi en mini serveur Web
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 8
    Dernier message: 17/09/2013, 22h24
  2. Addition dans mini serveur web électronique
    Par P.G dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 28/05/2013, 21h52
  3. Racine du mini serveur web intégré à Visual Studio
    Par Idrakis dans le forum Visual Studio
    Réponses: 0
    Dernier message: 05/03/2010, 02h03
  4. Réaliser un mini serveur web
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2009, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo