salut je faire une application qui scan les adresses ip dans le réseaux je veux travaillé avec les sockets j'ai crée deux classes client/serveur le probléme coté client toujours il m'affiche le client est en cours!
class client
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test;
 
/**
 *
 * @author jaafar
 */
import java.io.*;
import java.net.*;
import java.io.File;
import java.net.*;
import java.util.Calendar;
import java.util.Date;
import java.sql.*;
 
public class Client {
 
    public Client() {   }
    public static void main(String args[]) {
 
 
   String namePC;
       String systèmedexploitation;
     long free;
      int numberOfProcessors;
      Date dateheur;
      long EspacedisqueTotal;
     long EspacedisqueUtiliser;
      long EspacedisqueLibre;
     String typesystème;
     Connection connexion;
        boolean statement;
 
     System.out.println("ceci un test");
     try{     
     Socket socket = new Socket("127.0.0.1", 3003);
 
 
     BufferedReader plec = new BufferedReader(
                               new InputStreamReader(socket.getInputStream())
                              );
 
 
     BufferedReader pl = new BufferedReader(new InputStreamReader(System.in));
     PrintWriter pred = new PrintWriter(
                             new BufferedWriter(
                                new OutputStreamWriter(socket.getOutputStream())), 
                             true);
 
 
            systèmedexploitation =System.getProperty("os.name");
    typesystème= System.getProperty("os.arch");
    File file = new File( "c:");
    EspacedisqueTotal = file.getTotalSpace();
    EspacedisqueUtiliser = file.lastModified();
    EspacedisqueLibre = file.getFreeSpace();
    numberOfProcessors = Runtime.getRuntime().availableProcessors();
    free = Runtime.getRuntime().freeMemory();
    dateheur=Calendar.getInstance().getTime();
    File file1 = new File( "C:\\Program Files" );
       File[] files = file1.listFiles();
 
                            String s="";
                            for ( int fileInList = 0 ; fileInList < files.length; fileInList++)
 
        s+=files[fileInList].getName()+"  ";
 
 
    //System.out.println(plec.readLine());
    pred.println(systèmedexploitation+"_"+typesystème+"_"+EspacedisqueTotal+"_"+EspacedisqueUtiliser+"_"+EspacedisqueLibre+"_"+numberOfProcessors+"_"+free+"_"+s);
 
      System.out.println(plec.readLine());
 
     socket.close();
 
     }
     catch(IOException e){
     }
 
 
 
 
    }
 
 
}
class serveur
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
 
/**
 *
 * @author jaafar
 */
 
public class serveur extends Object{
 
	protected ServerSocket socketEcoute;
	protected Socket socketService;
	protected InputStream entreeSocket;
	protected OutputStream sortieSocket;
 
 
	// constructeur, créer un Serveur
	public serveur(int numPort){
		try{
		//création du socket d'écoute (port numPort)
		socketEcoute = new ServerSocket(numPort);
 
		}catch (Exception ex){
      			// erreur de connexion
      			System.err.println("Une erreur est survenue : "+ex);
      			ex.printStackTrace();
    		}	
	}
 
	// attente d'une connexion
	public void attenteConnexion(){
		try{
			// attente d'une demande de connexion
			socketService = socketEcoute.accept();
 
			System.out.println("Nouvelle connexion : " + socketService); // pour test...
 
			// récupération des flux d'entrée/sortie de la socket de service
			entreeSocket = socketService.getInputStream();
	        	sortieSocket = socketService.getOutputStream();		
 
		}catch (IOException ex){
          		// fin de connexion
          		System.out.println("Une erreur est survenue : "+ex);
          		ex.printStackTrace();
		}	
	}
 
	// methode qui retourne la chaine de caractere recue dans la socket ainsi que l'adresse de l'expéditeur, dans un 
	// tableau de String, 1er element du tableau = adresse, 2eme element = message 
	public String[] receptionMessage(){
 
		String mess="";
		String strIpClient="";
		String tabMess[]=null;
 
		tabMess=new String[2];
 
		try{
 
			// on charge le contenu du scoket dans un BufferedReader	
			BufferedReader br = new BufferedReader(new InputStreamReader(entreeSocket));
			// on lit le contenu du buffer
			mess = br.readLine();
 
 
		// afficher l'ip du client  ???
			InetAddress ipClient=socketService.getInetAddress();
			strIpClient=ipClient.getHostAddress();
 
 
			// System.out.println("reception message de "+strIpClient+" : "+mess);	// on fait deja cette affichage dans l'appelant									
 
		}catch (IOException ex){
          		// fin de connexion
          		System.out.println("Une erreur est survenue : "+ex);
  			ex.printStackTrace();
		}	
 
		tabMess[0]=strIpClient;
		tabMess[1]=mess;
 
		return tabMess;	
 
	}
}