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

Android Discussion :

Client UDP et WIFI


Sujet :

Android

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Client UDP et WIFI
    Bonsoir,

    J'ai besoin d'un coup de main mais surtout d'explications !

    Je crée une application android toute simple, qui consiste à récupérer un packet UDP émis par un serveur sur mon réseau internet (wifi).
    *** Je ne connais rien sur tout ce qui touche les réseaux.. alors une vraie galère pour faire des configurations, ou lire des doc ou tutos qui me semblent etre du chinois... ***

    Le serveur broadcaste des paquets toutes les 5 secondes sur mon réseau au port 3001, . Il fonctionne bien puisque en lancant mon serveur sur une machine, puis un client en C sur une autre, la communication se fait.

    Maintenant le problème est lorsque j'essaie de coder mon client android... il doit pouvoir écouter sur le port 3001 de mon réseau internet, le même où le serveur émet...

    Cependant, je teste mon appli sur mon propre tel, via mon cable USB et aucun packet n'est recu...


    Voici mon client, qui s'execute dans le thread AsyncTask :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    @Override
    		protected Void doInBackground(Void... arg0) {
     
    			String receivedString = "";
     
    			byte[] receiveData = new byte[1024];
     
    			DatagramSocket clientSocket;
    			try {
    				clientSocket = new DatagramSocket(3001);
     
    				DatagramPacket receivePacket = new DatagramPacket(receiveData,
    						receiveData.length);
    				clientSocket.receive(receivePacket);
    				receivedString = new String(receivePacket.getData());
    				clientSocket.close();
    			} catch (SocketException e) {
    				Log.v("SocketExceptionOccured", e.toString());
    				e.printStackTrace();
    			} catch (IOException e) {
    				Log.v("IOExceptionOccured", e.toString());
    				e.printStackTrace();
    			}
     
    			Toast.makeText(getBaseContext(), receivedString, Toast.LENGTH_LONG)
    					.show();
     
    			return null;
     
    		}
    Je lance mon appli sur mon tel, en mode debug, puis l'execution s'arrete au niveau de la methode receive().
    Je suppose que c'est parce qu'aucune donnée n'est détectée, et reste en attente.

    Alors il y a une histoire de proxy, qu'on ne peut pas tester le vrai réseau sur l'émulateur (mon tel branché via USB est-il toujours considéré comme émulateur ?)
    Voila je ne sait pas du tout comment écouter sur un port donné de mon réseau wifi de la maison..
    J'ai beau éplucher les StackOverFlow, developpez.com etc.... ayant de très fortes lacunes en réseau, je galere pas mal a comprendre comment tout cela fonctionne, et j'aimerais beaucoup connaitre vos méthodes pour tester vos appli android qui utilisent le wifi...

    Merci par avance pour votre aide, et éclaircissements... j'en attends beaucoup

  2. #2
    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
    1) quelle est l'ip de ton téléphone?
    2) le serveur envoie-t-il bien les paquets sur l'ip de ton téléphone?

    Aussi, avec l'udp, les connection ça peux être complexe dans les routeurs et autres, car il n'y a pas de connexion établie, chaque paquet est supposé indépendant. Ce que tu peux tenter, dans ton client android, pour commencer, c'est d'envoyer un paquet UDP vers ton serveur, histoire de voir si ce paquet arrive au serveur.

Discussions similaires

  1. cherche exemple client udp socket
    Par - Glop - dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 08/06/2006, 10h52
  2. [SOCKET] Client UDP sur système Unix
    Par be_tnt dans le forum Développement
    Réponses: 1
    Dernier message: 14/04/2006, 21h31
  3. erreur Client UDP
    Par innosang dans le forum Réseau
    Réponses: 6
    Dernier message: 04/01/2006, 09h33
  4. Serveur/Client UDP: comment envoyer un fichier avec mon code
    Par danje dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/12/2005, 14h54
  5. [Socket] Client UDP
    Par AxldenieD dans le forum Réseau
    Réponses: 12
    Dernier message: 22/11/2005, 12h59

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