Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Java & Mobiles > Android
Android Forum d'entraide sur Android, la plateforme mobile de Google pour téléphones portables et Smartphones. Avant de poster -> FAQ Android
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 09h42   #1
Viish
Rédacteur
 
Avatar de Viish
 
Homme Sylvain Berfini
Etudiant en alternance
Inscription : février 2009
Messages : 423
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Berfini
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 423
Points : 1 476
Points : 1 476
Par défaut [Tutoriel] Android et le broadcast UDP appliqué à la détection d'un serveur en réseau Wi-Fi local

Bonjour,

Voici un nouveau tutoriel expliquant comment se servir du broadcast UDP sous Android pour trouver automatiquement l'adresse IP d'un serveur sur le même réseau Wi-Fi local.

Merci de poster vos remarques ou question à la suite.
__________________
Développeur Android
http://www.thinkdroid.eu/
http://sberfini.developpez.com/
Viish est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/07/2011, 13h59   #2
MathiasSeguy
Membre Expert
 
Avatar de MathiasSeguy
 
Homme Mathias Seguy
Fondateur Android2EE - Formation Expertise Android
Inscription : avril 2011
Messages : 113
Détails du profil
Informations personnelles :
Nom : Homme Mathias Seguy
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fondateur Android2EE - Formation Expertise Android
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 113
Points : 1 251
Points : 1 251
Bonjour,
Super article, j'en ai les yeux qui brillent tellement c'est beau.
Juste une question toute bête, le code serveur je le déploie où et sur quoi ? Je fais un war et c'est fini?
MathiasSeguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 14h41   #3
Viish
Rédacteur
 
Avatar de Viish
 
Homme Sylvain Berfini
Etudiant en alternance
Inscription : février 2009
Messages : 423
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Berfini
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 423
Points : 1 476
Points : 1 476
Bonjour,

Ravi que tu ai apprécié.
Pour le code serveur, celui que je donne est un code serveur pour application Android, pour le cas ou l'on fait une application voulant dialoguer avec une autre instance d'elle même sous la forme d'un échange client serveur.
Après pour un serveur "classique", le principe est le même, bien que l'API puisse changer. Il suffit de créer une socket serveur en UDP.

Bonne continuation.
__________________
Développeur Android
http://www.thinkdroid.eu/
http://sberfini.developpez.com/
Viish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 14h51   #4
MathiasSeguy
Membre Expert
 
Avatar de MathiasSeguy
 
Homme Mathias Seguy
Fondateur Android2EE - Formation Expertise Android
Inscription : avril 2011
Messages : 113
Détails du profil
Informations personnelles :
Nom : Homme Mathias Seguy
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fondateur Android2EE - Formation Expertise Android
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 113
Points : 1 251
Points : 1 251
Fichtre dis donc, j'avais pas compris.
Ca veut dire que le code serveur je le colle dans mon application Android dans sa partie serveur et ça marche tout seul?
J'ai pas besoin de demander des permissions, ni de mettre ce code dans un service, comment ton code est appelé ? Ton application "serveur" tourne en permanence? Aurais-tu un cas d'utilisation?
MathiasSeguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 15h04   #5
Viish
Rédacteur
 
Avatar de Viish
 
Homme Sylvain Berfini
Etudiant en alternance
Inscription : février 2009
Messages : 423
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Berfini
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 423
Points : 1 476
Points : 1 476
Imagines 2 boutons dans une Activity, un nommé "Serveur" et l'autre "Client".
Si tu cliques sur serveur, il crée un objet Discovery (le nom de ma classe), et appelles "waitingForDiscover()".
Le bouton "client" lui crée une instance de Discovery et ensuite appelles getServerIp(). Si le retour de la fonction est null, alors aucun serveur n'a été trouvé, sinon elle renvoie l'IP du serveur, et ce dernier a arrêté son serveur UDP entre temps.
__________________
Développeur Android
http://www.thinkdroid.eu/
http://sberfini.developpez.com/
Viish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 15h08   #6
MathiasSeguy
Membre Expert
 
Avatar de MathiasSeguy
 
Homme Mathias Seguy
Fondateur Android2EE - Formation Expertise Android
Inscription : avril 2011
Messages : 113
Détails du profil
Informations personnelles :
Nom : Homme Mathias Seguy
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fondateur Android2EE - Formation Expertise Android
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 113
Points : 1 251
Points : 1 251
Et ensuite je parle entre eux en utilisant le protocole TCP ou UDP comme je veux.
Magique.
Je pense que tu pourrais rajouter ton dernier post dans un paragraphe exemple d'utilisation dans ton article, cela éclairerait pas mal de monde.
En tout cas super.
merci pour ton article
MathiasSeguy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 15h16   #7
Viish
Rédacteur
 
Avatar de Viish
 
Homme Sylvain Berfini
Etudiant en alternance
Inscription : février 2009
Messages : 423
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Berfini
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 423
Points : 1 476
Points : 1 476
Citation:
Envoyé par MathiasSeguy Voir le message
Et ensuite je parle entre eux en utilisant le protocole TCP ou UDP comme je veux.
merci pour ton article
Oui c'est tout à fait ça.

Et tu as raison je vais rajouter dans le tuto le mode d'utilisation.
__________________
Développeur Android
http://www.thinkdroid.eu/
http://sberfini.developpez.com/
Viish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 17h14   #8
Jazys
Candidat au titre de Membre du Club
 
Julien
Étudiant
Inscription : février 2005
Messages : 64
Détails du profil
Informations personnelles :
Nom : Julien
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2005
Messages : 64
Points : 14
Points : 14
Envoyer un message via MSN à Jazys
Bonjour,

Etant en stage, je dois créer une application sur smartphone permettant d'envoyer des jpeg à un mobile embarqué.
Ma contrainte est que la communication doit se faire via le wifi en udp par un réseau, je suis donc tombé sur ton code (qui est très bien), néanmoins qu'en je l'utilise tel quel, mon application plante juste avant le "socket.send(packet);".
Via le module ddms, j'ai récupéré quelque infos entre autres :
Citation:
07-12 14:54:10.360: INFO/System.out(5757): paddr 192.168.10.97 gateway 192.168.10.200 netmask 255.255.255.0 dns1 192.168.10.200 dns2 0.0.0.0 DHCP server 192.168.10.200 lease 7200 seconds
J'obtiens comme erreur :
Citation:
07-12 14:54:10.360: DEBUG/ERROR(5757): Verify your Wifi connection
Ce qui implique que mon réseau n'est pas joignable.

Et après plusieurs débogage, je ne vois pas ce qui pourrait merder.
Je développe sous un Xpéria version 2.1-update (API 7) sans carte sim, je peux me connecter manuellement avec le wifi au réseau local de l'entreprise.
Je précise aussi que je suis débutant sous android...

Merci pour votre aide,
Cordialement
Jazys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 17h16   #9
Viish
Rédacteur
 
Avatar de Viish
 
Homme Sylvain Berfini
Etudiant en alternance
Inscription : février 2009
Messages : 423
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Berfini
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 423
Points : 1 476
Points : 1 476
Vérifie qu'au moment d’exécuter ton appli tu sois bien connecté au WiFi, et si c'est pas ça que dans ton fichier Manifest.xml tu demandes bien la permission Internet.
__________________
Développeur Android
http://www.thinkdroid.eu/
http://sberfini.developpez.com/
Viish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 17h47   #10
Jazys
Candidat au titre de Membre du Club
 
Julien
Étudiant
Inscription : février 2005
Messages : 64
Détails du profil
Informations personnelles :
Nom : Julien
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2005
Messages : 64
Points : 14
Points : 14
Envoyer un message via MSN à Jazys
Pour ce qui est du manifest internet est bien présent mais effectivement je pensais qu'il suffisait d'activer le wifi et non d'y être connecté (je ne sais pas pourquoi j'ai compris ça).

Merci en tout, j'ai encore des erreurs mais je regarderai ça demain ^^.
Jazys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2012, 16h17   #11
M.Gaetan89
Invité régulier
 
Homme Gaëtan
Étudiant
Inscription : janvier 2012
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Gaëtan
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 9
Points : 7
Points : 7
Hello !

Je voulais utiliser (ou au moins tester) cette classe pour un projet que j'ai pour les cours, mais je n'arrive pas à savoir à quelle classe fait référence cette ligne :
Code :
String myAdress = Engine.getIpAddress();
Ou se trouve la classe Engine ? Eclipse me propose deux import, mais il ne me semble pas correspondre à ce que je cherche (un pour les Wallpaper et l'autre pour le TextToSpeech ...).
M.Gaetan89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2012, 00h37   #12
M.Gaetan89
Invité régulier
 
Homme Gaëtan
Étudiant
Inscription : janvier 2012
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Gaëtan
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 9
Points : 7
Points : 7
Finalement j'ai définit ma propre méthode getIpAddress() grâce à ce lien. Il faut juste penser à ajouter la permission android.permission.INTERNET à votre manifeste.
M.Gaetan89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h19.


 
 
 
 
Partenaires

Hébergement Web