import java.util.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class ClassTracker
{Socket sockPair=null;
public static void main(String[] args)
{
try
{System.out.println("lancement de serveur");
/* Créer le socket du Tracker : port d' écoute = 20000, 100 pairs au max */
ServerSocket sockServer = new ServerSocket(20000, 100);
/* Accepter la connexion d'un pair et lui cr éer un socket */
Socket sockPair = sockServer.accept();
/* Créer les flux d'entrée/sortie pour la réception/envoi des données */
ObjectOutputStream out = new ObjectOutputStream( sockPair.getOutputStream() );
ObjectInputStream in = new ObjectInputStream( sockPair.getInputStream() );
/* Recevoir "ListeFichiers" que le pair a envoy é */
ArrayList<String> ListeFichiers = (ArrayList<String>) in.readObject();
/* Afficher les noms des fichiers reçus */
for (int i = 0; i < ListeFichiers.size(); i++)
{
System.out.println("Nom de fichier : " + ListeFichiers.get(i) );
public class ClassPair
{
public static void main(String[] args)
{
try
{
/* Créer le socket du pair */
Socket sockPair = new Socket("192.168.6.8", 20000);
/* Créer les flux d'entrée/sortie pour la réception/envoi des données */
ObjectOutputStream out = new ObjectOutputStream( sockPair.getOutputStream() );
ObjectInputStream in = new ObjectInputStream( sockPair.getInputStream() );
/* Créer un tableau dynamique pour stocker les noms des fichiers */
ArrayList<String> ListeFichiers = new ArrayList<String>();
/* Créer un objet "dossier" de type File pour récupérer les noms des fichiers */
File dossier = new File("MonDossier");
/* Remplir le tableau "ListeFichiers" */
for ( File fichier : dossier.listFiles() )
{
ListeFichiers.add( fichier.getName() );
}
/* Envoyer "ListeFichiers" au Tracker */
out.writeObject(ListeFichiers);
/******************************************pour fichier*************************************************************************/
21 nov. 2014 à 20:40
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.net.*;
import java.io.*;
import java.net.* ;
import java.io.* ;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class ClassTracker
{Socket sockPair=null;
public static void main(String[] args)
{
try
{System.out.println("lancement de serveur");
/* Créer le socket du Tracker : port d' écoute = 20000, 100 pairs au max */
ServerSocket sockServer = new ServerSocket(20000, 100);
/* Accepter la connexion d'un pair et lui cr éer un socket */
Socket sockPair = sockServer.accept();
/* Créer les flux d'entrée/sortie pour la réception/envoi des données */
ObjectOutputStream out = new ObjectOutputStream( sockPair.getOutputStream() );
ObjectInputStream in = new ObjectInputStream( sockPair.getInputStream() );
/* Recevoir "ListeFichiers" que le pair a envoy é */
ArrayList<String> ListeFichiers = (ArrayList<String>) in.readObject();
/* Afficher les noms des fichiers reçus */
for (int i = 0; i < ListeFichiers.size(); i++)
{
System.out.println("Nom de fichier : " + ListeFichiers.get(i) );
}
/* Fermer les sockets */
//sockServer.close();
}
catch (IOException | ClassNotFoundException e)
{
e.printStackTrace();
}
}
}/********************************************************************************/
code client
import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.ArrayList;
public class ClassPair
{
public static void main(String[] args)
{
try
{
/* Créer le socket du pair */
Socket sockPair = new Socket("192.168.6.8", 20000);
/* Créer les flux d'entrée/sortie pour la réception/envoi des données */
ObjectOutputStream out = new ObjectOutputStream( sockPair.getOutputStream() );
ObjectInputStream in = new ObjectInputStream( sockPair.getInputStream() );
/* Créer un tableau dynamique pour stocker les noms des fichiers */
ArrayList<String> ListeFichiers = new ArrayList<String>();
/* Créer un objet "dossier" de type File pour récupérer les noms des fichiers */
File dossier = new File("MonDossier");
/* Remplir le tableau "ListeFichiers" */
for ( File fichier : dossier.listFiles() )
{
ListeFichiers.add( fichier.getName() );
}
/* Envoyer "ListeFichiers" au Tracker */
out.writeObject(ListeFichiers);
/******************************************pour fichier*************************************************************************/
/**********************************************************************************************************************************/
System.out.print("le client: ");
System.out.print(sockPair.getInetAddress());
/* Fermer le socket */
sockPair.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Modifié par noursara le 21/11/2014 à 20:43
et comment recuper la deconnection d'un pair client dans le serveur