most27
-
Modifié par jordane45 le 29/10/2014 à 18:55
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024
-
30 oct. 2014 à 08:00
Bonjour,
Je débute avec la programmation en Java ,
j'écris mes codes sous Notepad et je les exécute avec l'invite de commande.
En ce moment je débute avec la programmation Client/Serveur UDP et voici mes programmes:
et quand j'exécute le programme client j'ai une erreur .
j'ai vraiment pas compris :( j'aimerai bien avoir la commande qui me permet d'envoyer des messages au serveur et comment confirmer que le message a bien été reçu par le serveur c'est vraiment urgent .
Je vous remercie d'avance pour votre aide :)
EDIT : correction des balises de code (et de quelques fautes d'orthographe ^^ )
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 29 oct. 2014 à 18:53
Bonjour,
j'écrit mes codes sous Notepad
Je te conseille quand même d'utiliser mieux que le notepad...
A la limite.. Notepad++ ... ou sinon passer sur un "vrai" EDI (comme Eclipse ou NetBeans).
Déjà.. ça te permettra d'avoir la coloration syntaxique (ce qui permet d'éviter quelques erreurs).
et quand j'exécute le programme client j'ai une erreur .
Sans nous donner ton message d'erreur ( COMPLET ) il nous sera impossible de t'aider.
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 30 oct. 2014 à 01:02
Donc ton message d'erreur t'indique que ton souci se trouve dans ton fichier UDPClienth
Que l'erreur est visiblement sur la ligne 15..
donc sur la ligne de code :
DatagramPacket request= new DatagramPacket(m,args[0].length,ahost,serverPort);
Es tu sûr que les variables que tu passes en paramètre sont bonnes ?
Tu devrais les afficher pour voir....
Et au cas où, peux tu essayer de remplacer ton
args[0].length
par une variable de type INT (c'est ce qu'attend le constructeur).
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024127 30 oct. 2014 à 08:00
Bonjour,
"quand j'exécute le programme client j'ai une erreur" Ce n'est pas une erreur d'exécution que tu as, mais une erreur de compilation !
Et comme Java est gentil il te dit où est l'erreur :
args[0].length ^ symbol: variable length location: class String
args[0] est un String (vu que args est un String[]) et tu appelles une variable length qui n'existe pas (contrairement aux tableaux par exemple)
Ce qu'il fallait mettre ici, c'est la méthode length(), avec des parenthèses pour bien marquer que tu appelles la méthode sans argument.
DatagramPacket request= new DatagramPacket(m,args[0].length(),ahost,serverPort);
Connaître la taille d'un String c'est un peu la base du Java...