Problème client UDP Java, rien ne se passe
Bonjour a tous, je suis sur un projet pour mon BTS que je doit rendre bientôt:mouarf: et je bloque:aie:, je vous explique le problème :
En java, je doit envoyer une commande AT à un serveur par protocole UDP depuis une tablette Android, je fait donc appel à une méthode, cependant il ne se passe rien, le serveur ne reçois rien. Le but serais de pouvoir au moins communiquer.
Le serveur -> 192.168.179.1 le port d'écoute -> 5556.
Je suis plutôt débutant dans ce domaine et j'ai du mal a trouver mon erreur.
Voici le code de la méthode qui ne fonctionne pas :
Code:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| /*-------------------ATTRIBUTS------------------*/
static String ip="192.168.179.1"; // L'adresse IP ou l'on envoie doit etre 192.168.0.1
public static String envoiMessage;
static String Newligne=System.getProperty("line.separator"); //Pour passer a la ligne utiliser la variable Newligne
/*______________________________________________*/
/*-------------------METHODES-------------------*/
public static void envoi_cmd_input() throws UnknownHostException //Methode qui permet d'ENVOYER UNE COMMANDE AU DRONE EN UDP
{
InetAddress adresse;
try {
adresse = InetAddress.getByAddress(ip.getBytes());
} catch (UnknownHostException e) {
e.printStackTrace();
} //transforme l'ip en adresse reseau
DatagramSocket socket;
try {
envoiMessage= "AT*REF = "+Commandes.seq+"," +Commandes.value+"\r\n"; //message a envoyer \r\n
int taille= envoiMessage.length(); //Taille du message
DatagramPacket packet= new DatagramPacket(envoiMessage.getBytes(), taille); //creation d'un packet IP avec le packet
/*TEST*/
envoiMessage= " AT*REF = "+Commandes.seq+"," +Commandes.value+"\r\n";
Interface_MainActivity.compteur_seq.setText("envoiMessage contient "+envoiMessage+Newligne+"Depuis la classe Lien");
/*fin test*/
adresse = InetAddress.getByAddress(ip.getBytes());
socket = new DatagramSocket(Commandes.port,adresse);
Log.d("unTagQueTuSouhaites", "envoi_cmd_input() : Les messages envoyé est : " +envoiMessage+"");//Chat developpez.com
try
{
socket.send(packet);
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (SocketException e1) //rennomé en 'e1' anciennement 'e'
{
// TODO Auto-generated catch block
e1.printStackTrace();
} //cree une socket udp avec une adresse serveur et port*/
} |
Je vous donne aussi ce que m'affiche le logCAT lorsque dans mon application je fait appel a cette méthode :
Code:
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 31 32 33 34 35 36
| 06-11 17:25:35.113: W/System.err(31411): java.net.UnknownHostException: Address is neither 4 or 16 bytes: [49, 57, 50, 46, 49, 54, 56, 46, 49, 55, 57, 46, 49]
06-11 17:25:35.129: W/System.err(31411): at java.net.InetAddress.badAddressLength(InetAddress.java:792)
06-11 17:25:35.129: W/System.err(31411): at java.net.InetAddress.getByAddress(InetAddress.java:787)
06-11 17:25:35.129: W/System.err(31411): at java.net.InetAddress.getByAddress(InetAddress.java:748)
06-11 17:25:35.129: W/System.err(31411): at com.projet_bts.system_mission_android.Lien.envoi_cmd_input(Lien.java:32)
06-11 17:25:35.129: W/System.err(31411): at com.projet_bts.system_mission_android.Commandes.input_start_off(Commandes.java:44)
06-11 17:25:35.129: W/System.err(31411): at com.projet_bts.system_mission_android.Interface_MainActivity$1.onClick(Interface_MainActivity.java:64)
06-11 17:25:35.137: W/System.err(31411): at android.view.View.performClick(View.java:4222)
06-11 17:25:35.137: W/System.err(31411): at android.view.View$PerformClick.run(View.java:17273)
06-11 17:25:35.137: W/System.err(31411): at android.os.Handler.handleCallback(Handler.java:615)
06-11 17:25:35.137: W/System.err(31411): at android.os.Handler.dispatchMessage(Handler.java:92)
06-11 17:25:35.137: W/System.err(31411): at android.os.Looper.loop(Looper.java:137)
06-11 17:25:35.137: W/System.err(31411): at android.app.ActivityThread.main(ActivityThread.java:4895)
06-11 17:25:35.144: W/System.err(31411): at java.lang.reflect.Method.invokeNative(Native Method)
06-11 17:25:35.144: W/System.err(31411): at java.lang.reflect.Method.invoke(Method.java:511)
06-11 17:25:35.144: W/System.err(31411): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
06-11 17:25:35.144: W/System.err(31411): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
06-11 17:25:35.144: W/System.err(31411): at dalvik.system.NativeStart.main(Native Method)
06-11 17:25:35.152: W/System.err(31411): java.net.UnknownHostException: Address is neither 4 or 16 bytes: [49, 57, 50, 46, 49, 54, 56, 46, 49, 55, 57, 46, 49]
06-11 17:25:35.152: W/System.err(31411): at java.net.InetAddress.badAddressLength(InetAddress.java:792)
06-11 17:25:35.152: W/System.err(31411): at java.net.InetAddress.getByAddress(InetAddress.java:787)
06-11 17:25:35.152: W/System.err(31411): at java.net.InetAddress.getByAddress(InetAddress.java:748)
06-11 17:25:35.152: W/System.err(31411): at com.projet_bts.system_mission_android.Lien.envoi_cmd_input(Lien.java:47)
06-11 17:25:35.160: W/System.err(31411): at com.projet_bts.system_mission_android.Commandes.input_start_off(Commandes.java:44)
06-11 17:25:35.160: W/System.err(31411): at com.projet_bts.system_mission_android.Interface_MainActivity$1.onClick(Interface_MainActivity.java:64)
06-11 17:25:35.160: W/System.err(31411): at android.view.View.performClick(View.java:4222)
06-11 17:25:35.160: W/System.err(31411): at android.view.View$PerformClick.run(View.java:17273)
06-11 17:25:35.160: W/System.err(31411): at android.os.Handler.handleCallback(Handler.java:615)
06-11 17:25:35.160: W/System.err(31411): at android.os.Handler.dispatchMessage(Handler.java:92)
06-11 17:25:35.160: W/System.err(31411): at android.os.Looper.loop(Looper.java:137)
06-11 17:25:35.168: W/System.err(31411): at android.app.ActivityThread.main(ActivityThread.java:4895)
06-11 17:25:35.168: W/System.err(31411): at java.lang.reflect.Method.invokeNative(Native Method)
06-11 17:25:35.168: W/System.err(31411): at java.lang.reflect.Method.invoke(Method.java:511)
06-11 17:25:35.168: W/System.err(31411): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
06-11 17:25:35.168: W/System.err(31411): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
06-11 17:25:35.168: W/System.err(31411): at dalvik.system.NativeStart.main(Native Method) |
J’espère avoir bien expliqué mon problème, si le temps vous permet de jeter un coup d’œil à mon problème cela me serais d'une très grande aide.
Je vous remercie par avance