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
|
import java.io.*;
import java.net.*;
import java.util.*;
public class Serveur extends Thread {
static final int port = 6020;
private static ServerSocket socketListener;
private static File fileToSend = new File("C:\\testClientServeur_from\\env.txt");
private static File fileToSend2;
private static Socket client;
private static DataOutputStream dataOut;
private static FileInputStream fis = null;
//initialiser le socket serveur
public static void fileSender(int port,File fileToSend) throws IOException {
fileToSend2 = fileToSend;
System.out.println("Fichier = "+fileToSend2);
try {
socketListener = new ServerSocket(port); //Ce ServerSocket écoute les tentatives de connexion
} catch(IOException e) {
System.err.println("Impossible découter sur le port.");
}
//start();
}
public static void fileTransfer(Socket client,File fileTosend) {
try {
dataOut = new DataOutputStream(client.getOutputStream());
} catch(IOException ioe) {
System.out.println("Erreur lors de la création du flux de sortie : "+ioe);
}
boolean fileExists = true;
try {
fis = new FileInputStream(fileToSend); //Flux de lecture dans le fichier
System.out.println("FileInputStream crée = "+fis.toString());
} catch (FileNotFoundException e) {
fileExists = false;
}
if (fileExists) {
//Création d"un buffer de 4K
byte[] buffer= new byte[4096];
int bytes = 0;
try {
//Envoie du nom du fichier dans le flux de sortie
//dataOut.writeUTF(fileToSend.getName());
//Copie du fichier dans le flux de sortie
while((bytes = fis.read(buffer)) != -1)
dataOut.write(buffer, 0, bytes);
fis.close();
} catch(IOException ioe) {
System.out.println("Erreur d'IO : "+ioe);
}
}
}
public static void main(String args[]) throws UnknownHostException,SocketException,IOException{
fileSender(port, fileToSend);
try {
while(true) {
client = socketListener.accept();
System.out.println("Socket accepté = "+client.toString());
fileTransfer(client,fileToSend);
break;
}
} catch(IOException ioe) {
System.out.println("Erreur d'IO : "+ioe);
}
}
} |
Partager