Client serveur avec Netbeans en Java
Fermé
Diouf
-
26 nov. 2011 à 13:27
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 nov. 2011 à 16:00
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 nov. 2011 à 16:00
A voir également:
- Application client/serveur java example
- Application mobile - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Application java - Télécharger - Langages
- Formate pour taxer client frigo vide ✓ - Forum Matériel & Système
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
26 nov. 2011 à 14:05
26 nov. 2011 à 14:05
Ça dépend quelles sont les erreurs... Un point important : il faut lancer le serveur avant le client. Par contre il est surement plus simple de faire un code propre si les deux parties sont développées dans le même projet, ça te permet d'utiliser des méthodes communes, comme par exemple ici où j'envoie tout un fichier du client au serveur.
En ce qui concerne le réseau, qu'il soit WiFi, ou non, ça ne change rien, ce n'est pas à toi de t'en occuper. Lorsque tu donnes l'adresse IP du serveur et du client, peu importe le type de l'infrastructure réseau nécessaire pour relier les deux.
Par contre la programmation pour mobile est différente de la programmation de bureau, et là ça risque de poser problème...
En ce qui concerne le réseau, qu'il soit WiFi, ou non, ça ne change rien, ce n'est pas à toi de t'en occuper. Lorsque tu donnes l'adresse IP du serveur et du client, peu importe le type de l'infrastructure réseau nécessaire pour relier les deux.
Par contre la programmation pour mobile est différente de la programmation de bureau, et là ça risque de poser problème...
26 nov. 2011 à 15:37
Par exemple, voici mes deux projets qui doivent communiquer:
1- TestReseauTCPclient : Elle contient la classe du code client
public class ClientConnecte {
Socket sock = null;
public ClientConnecte(String host, int port, String data){
try{
sock = new Socket(host,port);
PrintStream output = new PrintStream(sock.getOutputStream());
output.println(data);
sock.close();
}catch(IOException e){}
}
public static void main(String[] args){
System.out.println("Le Client que je suis se connecte ...");
ClientConnecte client = new ClientConnecte("127.0.0.1", 10000, "Hello World");
System.out.println("Le client que je suis se deconnecte ...");
}
}
2- TestReseauTCP: elle contient les 3 classes ds 3 fichiers differents côté serveur
----------------------la premiere qui implement la partie à exécuter pr une connexion acceptée-----
public class Traitement extends Thread {
Socket sock;
BufferedReader entree;
public Traitement(Socket socket){
sock = socket;
try{
entree = new BufferedReader(new InputStreamReader(sock.getInputStream()));
}catch(IOException e){}
this.start();
}
public void run(){
String text;
try{
text = entree.readLine();
System.out.println(text);
sock.close();
}catch(IOException e){}
}
}
------------------------- La seconde qui lance une instance du serveur -----------------------
public class TestServeurConnecte {
public static void main(String[] args){
System.out.println("Le Seveur que je suis s'initialise en boucle...");
new ServeurConnecte();
System.out.println("Le serveur que je suis s'est arrete.");
}
}
--------------------------- Et enfin une troisième qui implémente la boucle du serveur acceptant les connexions des potentiels clients --------------------------------------------------------------------
public class ServeurConnecte extends Thread{
ServerSocket reception;
static final int port = 10000;
public void ServerConnecte(){
try{
reception = new ServerSocket(port);
System.out.println("Bonne creation du serveur ... OK");
}catch(IOException e){
System.out.println("Erreur lors de la tentative d'initialisation");
System.exit(1);
}
System.out.println("Avant le start");
this.start();
}
public void run(){
Socket sock;
Traitement t;
try{
while(true){
System.out.println("Debut de boucle");
sock = reception.accept();
t = new Traitement(sock);
System.out.println("Fin de la boucle");
}
}catch(IOException e){System.out.println("Erreur de boucle");}
}
}
Comment les lancer? Je ne sais comment procéder.
Merci pour ta promptitude et ton aide.
26 nov. 2011 à 16:00
Mais tu as des erreurs à corriger :
* Il ne faut pas que tu oublies de démarrer tes threads avec start(), sinon ça ne sers à rien.
* Il vaut mieux que tu transforme ta méthode ServerConnecte en constructeur ServeurConnecte
Ensuite il y a d'autres erreurs qui s'affichent, mais ton premier HelloWorld arrive bien sur le serveur, alors c'est un bon début, je te laisse continuer la suite...