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

Entrée/Sortie Java Discussion :

InputStream, InputStreamReader,.. Decoupage d'un flux continue d'octet en temps réel


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut InputStream, InputStreamReader,.. Decoupage d'un flux continue d'octet en temps réel
    Bonjour a tous,

    Je dispose d'une caméra IP pour un projet. Il y a deux modes d'acquisitions possible:
    - Le mode PUSH: avec un timer, j'envois une requete a la caméra pour demander l'image courrante, je reçois la reponse sous forme d'un flux fini, que je converti en Image grace à la classe ImageIO. jusqu'ici, rien de tres compliqué (avec des URL, URLConnexion, BufferedInputStream, etc...)

    Ce mode étant un peu lourd du fait qu'il y a requete/reponse a chaque top du timier, le meilleur mode est le mode Pull, qui consiste a envoyer une requete spécifique a la caméra, qui envois une reponse continue, sans interruption, sous forme de flux d'octets correspondant a une succession d'images, séparés par un délimiteur connu.

    Au debut de chaque image, j'ai 3 lignes de textes qui m'indiquent la séparation. l'une de ses lignes spécifie la longueur du flux correspondant a l'image qui suit.

    j'ai essayé d'implementer un bout de code pour utiliser ce mode, mais je n'ai pas réussi a avoir le resultat!

    si quelqu'un peut me dire comment faire en sorte que le flux soit decoupé au niveau des delimiteurs, et qu'a chaque decoupe, j'envois le contenu de ce qui a été recupéra pour etre converti en image, ce serai super!! j'ai un peu de mal avec les InputStream et compagnie quand le flux est continue.

    Merci a tous

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut peut-être une idée
    Bonjour,
    Je ne suis pas spécialiste des flux, mais ce que vous décrivez ressemble à un flux RTP. Vous avez regardez du côté de l'API Java Média Framework. Cet ensemble permet de se connecter sur des flux réseau multimédia continue...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est à toit de lire à la main ce protocole en lisant le inputstream, en localisant le début et la longueur puis une fois la longueur atteinte relire le nouvel header, etc.

    Rien d'énormément difficile mais pas de classe java qui prémache le travail pour toi, juste Inputstream.

    Note: évite la tentation de mélanger inpustreamreader. Tu va devoir lire le texte de spération en binaire.

    Edit: si il s'agit d'une réponse multipart standard , commons http-client pourrait t'être utile.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Merci pour les deux reponses que vous m'avez donné,
    Effectivement, avec la JMF, ça aurait pu se faire facilement, mais je n'ai pas envie de l'installer pour une si petite opération.

    Pour ta reponse tchize_, j'ai bien essayé de faire ça! le probleme etant que quand je fais un read, j'avance d'une position dans le flux, donc comment, en meme temps verifier la presence d'un delimiteur qui est en fait "--myboundary", et en meme temps, stoquer les bytes pour les convertir en image? sur tout que "--myboundary" n'est que la 1ere ligne qui ne fait pas partie de l'image! il y en a deux qui la suive, dont l'une d'elle donne quelques chose du genre "content-legth: 48521" ou un truc du genre... (la caméra n'est pas a porté de main maintenant pour que je sois plus précis)

  5. #5
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Pourquoi pas...
    Ok, lire le flux en binaire c'est de toute façon la seule chose à faire. Mais il va falloir reconstituer les images car si j'ai bien compris, la caméra envoie trois ligne de textes qui se terminent par un CR, puis un flux sérialisé. Il va donc falloir connaître la résolution des images pour les reconstituer sinon je ne vois pas comment cela serait possible. Je suppose donc que dans l'une de ces trois lignes se trouve la définition de cette résolution. A moins que la longueur que vous cité représente un nombre de frame dans une résolution fixe qu'il vous faut connaître. L'un ou l'autre en tout cas, parceque avec un InputStream, ce sera éffectivement à vous de tout construire manuellement.
    Pourriez-vous nous montrer ces fameuses trois lignes...
    A dernière chose, si vous voulez pas JMF, essayez avec VLC....
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    oui ou la caméra, comme beacoup de caméra basique, envoie en continu des fichier image complet (et comme il l'a dit, ca il arrive déjà a ouvrir)

    Pour lire le binaire, ben y a pas le choix, faut lire byte par byte jusqu'à trouver un \n, prendre le bytes que t'as lu depuis les dernier \n et en faire une ligne de texte que tu interprète
    ensuite rebelotte
    quand t'as reçu la ligne vide (à priori), le flux commence ce moment là et tu lit n byte dedans (n étant le nombre précédement récupéré des lignes texte)

    et on recommence

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Bonjour à tous,

    Alors voila, en ce qui concerne la question que j'ai posé ici, j'ai un peu laissé de coté ce probleme pour travailler sur autre chose, mais en ce debut de semaine, j'ai pris la caméra en question, et je me replonge donc dans cette histoire...

    Je vais essayer quelques idées et vous tiendrai au courant des resultats, mais je suis toujours a l'ecoute de toute suggestion, ou mieux, de façon de faire!

    Je reviendrai ici tout a l'heure, mais j'ai effectué une petite capture d'ecran de l'affichage du flux pour vous l'afficher.

    En fait, j'ai juste mis un BufferedReader qui reçoit la reponse continue de la caméra, et qui affiche ligne par ligne ce qu'il contient. J'ai demandé l'affichage du texte correspondant au flux pour 3 images seulement (je lui ai demandé de s'arreter au 4eme "--myboundary" qu'il rencontre).

    Si ça peut donner une idée a ceux que ça interesse de m'aider. Je vous en remercie d'avance. J'espere que le petit bricolage que je m'apprete a faire reglera le probleme

    PS: désolé pour la qualité de l'image! je l'ai redimensionné (/2) pour que la taille respecte la limite imposée! j'ai l'originale qui est nettement mieux, mais bon!
    Images attachées Images attachées  

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    En fait, je viens de me rendre compte d'une chose. J'ai deux caméras differentes pour le projet sur lequel je travail. Celle dont j'ai affiché le flux dans le precedent message est la plus récente des deux! je viens de tester avec la deuxieme, et le flux reçu est presque identique a une chose près: il ne contient pas la ligne "Content-length: xxxx" qui est présente sur le flux de la caméra récente...

    J'avais dans l'idée de lire le flux byte par byte, de reperer le fameux "--myboundary" (en reperant lettre par lettre et leur ordre), et dés que je repere cette ligne, j'entame un prétraitement qui est de recuperer le "xxxx" du "Content-legth" qui a mon avis, correspond a la taille des données representant l'image qui va suivre.
    Donc l'idée etait qu'une fois recupéré ce "xxxx", j'aurai créé un "byte[] buff= new byte[xxxx];" que j'aurai envoyé a "is.read(buff)" (is étant le InputStream". mais voila!! ce n'est pas une généralité!! avec ma 2eme caméra, je n'ai pas cette donnée de "Content-length", du coup, je dois me debrouiller autrement...

    Je dois garder en tete que le "ImageIO" ne peut recevoir qu'un type de tableau précis pour creer une image (jpeg), du coup, je dois jongler avec tout ça!

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    a mon avis tu va devoir faire un lecteur de stream pour chaque caméra, puisqu'elles ont visiblement des formats de stream différents.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Cela va de soi tchize_
    N'ayant pas une seule fomre de contenu de flux pour les deux caméras, je devrais faire une legere modification de l'eventuel lecteur de l'une pour qu'il fonctionne avec l'autre (en sautant la ligne du Content-Lenght pour la 1ere caméra par exemple). Mais mon probleme ne se situe pas exactement sur ce point.

    En fait, dans le fichier image joint que j'ai mis plus haut, le BufferedReader qui affiche les lignes en question supprime automatiquement les \r et \n a la fin. Quand je fais afficher le flux byte par byte, j'ai des \r\n enchainé a la fin de chaque ligne correpondante a l'affichage du BufferedReader. En plus, entre les deux lignes "lisibles" que sont le "--myboundary" et le "Content-type" et le debut des caracteres qui representent les bytes de l'image, il y a des sauts de lignes, donc je ne sais pas trop si ça fait partie de l'image ou non... il y a des saut de lignes juste apres les lignes "lisibles" de delimitation, et d'autres a la fin des données d'une image et avant les delimiteurs suivants... en gros, je ne sais pas trop ou sont les limites des données que je dois mettre dans un tableau de bytes pour convertir ce dernier en Image grace a ByteArrayInputStream et ImageIO...

    Ajouté a cela que je n'ai pas vraiment de méthode de lecture, detection de delimiteur, stoquage des bytes lu dans un buffer, et conversion de ce buffer en image a la detection du delimiteur suivant, le tout en meme temps... j'ai bricolé un truc mais il n'est pas du tout bon, vu que ça ne marche pas

    Y a-t-il ici des gens qui ont déja fait ce genre de choses? je continue mes tentatives variés, mais un idée serait la bienvenue.

    Merci

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    normalement, en http, quand tu envoie une réponse binaire: elle commence toujours avec après la ligne vide. Donc le premier \n ne compte pas. Tu va donc avoir, normalement, content-lengthxxxxx\n<Données binaires de taille xxxxxx>\n--myboundary

    pour le cas ou tu n'a que les boundary, tu dois présupposer que ton émetteur a choisi un boundary non présent dans le flux. Tu va donc lire jusqua'à trouver "\n--myboundary\n", l'exclure de ton byte[] et voilà

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Je vais essayer d'implementer ça! mais la dificulté est de faire en meme temps une lecture du byte suivant du flux, de le tester pour savoir s'il compose le "--myboundary":
    - Si non, le stoquer dans le byte[], et lire le byte suivant
    - Si oui, continuer a lire les bytes suivants jusqu'a completer le "--muboundary" sans en stoquer aucun.

    Faire les trois operations en meme temps me parrait un peu compliquer a implementer: lecture du byte suivant, test du byte en question, stoquage de ce byte ou creation de l'image si delimiteur... le probleme etant que le flux est un flux continue selon le framerate demandé a la caméra, il faut jongler avec tout ça...

    Du moins, je sais que c'est faisable vu q'ul existe des lecteurs MPEG et que la JMF le fait!! faut juste perseverer

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Encore une bizarerie...

    Je vien de constater que le meme code sources appliqué a deux flux provenant de deux caméras n'agissait pas de la meme façon!!

    voila le bout de code en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
            InputStream is=conn.getInputStream();
    	InputStreamReader isr=new InputStreamReader(is);
    	BufferedReader br=new BufferedReader(isr);
     
    	String ligne;
    	while((ligne=br.readLine())!=null){
    		if(ligne.equalsIgnoreCase("--myboundary")){
    			int cpt=0;
    			while(cpt<1000){
    				System.out.print((char)is.read());
    				cpt++;
    			}
    		}
    	}
    L'application de ce code sur le flux provenant de ma 1ere caméra me donne ça en sortie:
    --myboundary
    Content-Type: image/jpeg

    ÿØÿþ
    ................... (une suite de caracteres illisibles, jusqu'a atteindre au total 1000 caracteres)
    suivi par des blocs de textes de 1000 caracteres chacun, tous similaires au précedent vue que c'est un flux continu

    Mais l'application du meme code sur le flux provenant de ma 2eme caméra me donne ça en sortie:
    Content-Type: image/jpeg

    ÿØÿþ
    ................... (une suite de caracteres illisibles, jusqu'a atteindre au total 1000 caracteres)
    puis de nouveau blocs de textes commençant directement par:
    ÿØÿþ
    ................... (une suite de caracteres illisibles, jusqu'a atteindre au total 1000 caracteres)
    (Pas de "Content-type")

    Je trouve ça bizar! en gros, la constatation est facile a decrire:
    Dans le premier cas, le "br.readLine()" lit bien la ligne, mais ne deplace pas le curseur dans le InputStream "is" vu que dés que je fais des "is.read()", ça me réecris "--myboundary"
    Mais dans le deuxieme cas, le "br.readLine()" semble deplacer le curseur dans le InputStream "is" du nombre de positions equivalent à la longueur de la chaine que ce "br.readLine()" à lu (en rajoutant le /r/b qui termine la chaine en question)... vu que le "is.read()" commence a afficher ce qu'il y a juste après le "--myboundary" ...

    Je repete encore que c'est le meme code qui est appliqué aux deux flux!!!
    Vous avez une explication?
    Est-t-il mieux que je crée une nouvelle discussion en y mettant juste ce probleme de comportement de ce code avec deux flux distincts?

    Merci pour toute reponse que vous me donnerez

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ne pas mélanger bufferedreader et inputstream. Tu dois lire du binaire, laisse tomber les bufferedReader. comme son nom l'indique, le bufferedreader va lire en avance sur le flux, c'est pas parce que tu fait un readline avec qu'il n'a pas lu au dela de la fin de ligne.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Merci pour ta reponse tchize_, mais le probleme n'est pas tout a fait là !

    J'ai très bien compris ou tu veux en venir tchize_, et effectivement, les BufferedReader ne sont pas conseillé pour mon but final, car il faut lire byte par byte, mais lors de mes nombreux tatonnement, je suis tombé sur ce cas de figure qui m'intrigue beaucoup!

    J'ai deux objets: un BufferedReader, et un InputStream. le BufferedReader est contruit avec le InputStream.

    On est bien d'accord qun "read()" sur un inputStream fait avancer la position courrante d'une position dans son contenu. pareil pour le "readLine()" du BufferedReader! jusqu'ici, rien de tres compliqué! mais la question est:

    Si la classe BufferedReader est conçu de sorte que lors d'une lecture dedans, la position courrante dans le InputStream (qui a servi pour construire le BufferedReader) avance aussi, ça expliquerai mes resultats avec la deuxieme caméra, mais pas avec la 1ere!

    Et si la classe BufferedReader est conçu de sorte a faire une copie du InputStream qui a servi a construire son instance, et que donc, la lecture dans le BufferedReader n'affecte pas la position courrante dans le InputStream, cela justifiera mes resultats avec la caméra 1, mais pas la 2 !!

    En definitif, y a une contradiction entre les resultats des deux caméras, avec le meme code source !

    voila mon probleme!

  16. #16
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la classe bufferedreader fait avancer ton inputstream quand tu fait un readline, oui, mais elle peux le faire avancer beaucoup plus loin que le \n du readline. Tu peux ainsi quand tu passe de bufferedreader à inputstream perdre une certaine quantité de données.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Bonjour a tous,
    ça y est!!! j'y suis enfin arriver!! j'ai créé mom petit lecteur qui arrive a recevoir le flux continu et qui affiche les images!! j'ai de la vidéo

    Merci pour toutes tes reponses tchize_, en fait,tu avais raison. j'ai fini par avoir le resultat que je voulais, et cela pour les deux caméra differentes, rien qu'avec le InputStream, et aucune autre classe de flux!!!

    Je vais mettre ce post en "Resolu", je doute qu'il y ait grand monde qui ait eu le meme probleme que moi, donc pour l'instant, je ne vais pas trop detaillé la marche a suivre (qui est en plus toute simple), mais si ça interesse quelqu'un, pas de soucis, je suis dispo pour l'afficher.

    Encore merci a tous, et spécialement a toi tchize_.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Je dois faire exactement ce travail de lire un flux MJPEG. J'arrive à afficher une image en lisant le début d'un boundary, avec ma ligne 3 j'arrive à avoir ma longueur de mon image. Le prob est que je n'arrive qu'à afficher qu'une image.

    Comment je pourrais proprement utiliser le contentype multipart pour lire d'affiler mes images. Pour l'instant je requete, je sors mon inputstream, je le met ds un tab de byte, je lis ligne par ligne, je récupère la longueur de l'image, je lis la premiére ligne puis toute l'image (grace à ma longueur que j'ai récupéré).

    Est ce que je dois refaire toute la meme manipulation (requete, byte, lecture ligne) des que je 'affiche une image ou je dois faire autrement ?

    Je pensais qu'avec une requete ayant un contentype multpart cela m'ouvrait un tunnel qui ne se refermait pas. Donc pas besoin de requête une autre fois. Est ce que je fais erreur ?

    Ca parait un peu bête comme question mais il doit me manquer une infos.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. socket et flux continue
    Par topolino dans le forum Développement Windows
    Réponses: 3
    Dernier message: 25/07/2014, 09h03
  2. Réponses: 8
    Dernier message: 24/11/2011, 14h09
  3. Réponses: 0
    Dernier message: 19/05/2010, 09h25
  4. Applet Java sur Boursorama (flux continu) - port 8000
    Par Invité dans le forum Applets
    Réponses: 4
    Dernier message: 02/02/2006, 23h05
  5. [Stratégie] Lecture ponctuelle d'un flux continu
    Par christopheJ dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 30/07/2004, 16h30

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