A voir également:
- Application client/serveur java example
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Application java - Télécharger - Langages
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Changer serveur dns - Guide
1 réponse
Ç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...
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.
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...