IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Serveur/Client UDP: comment envoyer un fichier avec mon code


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Serveur/Client UDP: comment envoyer un fichier avec mon code
    Voila, j'ai fait mon serveur et client UDP, mais pour le moment je n'arrive qu'a envoyer des messages.
    Hors j'aimerai reussir a envoyer des fichiers. J'ai donc ce code:


    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
     
    public class TopologyUDPServer extends Thread {
     
        protected DatagramSocket socket = null;
        protected BufferedReader in=null;
        protected boolean servstart = true;
    	private int servport;
     
    	/**
             * Constructor TopologyUDPServer: to create a TopologyUDPServer object
             * @param port: <B>The UDP port number</B>
             */
        public TopologyUDPServer(int port){
    		servport = port;
    		try {
    			socket = new DatagramSocket(servport);
    		} catch(IOException ioe){
    			System.out.println("Server can't start at port:"+servport);
    			servstart=false;
    		}
        }
     
    	/**
             * Method run: to make server operation
             */
        public void run() {
    		if(servstart!=false){
    			try{
    				//System.out.println("Server started...");		
    		        while (servstart) {
    		            try {
    						//Receive request
    		                byte[] buf = new byte[256]; //A modifier pour taille fichier
    		                DatagramPacket packet = new DatagramPacket(buf, buf.length);
    		                socket.receive(packet);
    						String msg_read = new String(packet.getData(), 0, packet.getLength());
     
    						//Figure out response
    		                buf = "SUCCESS".getBytes();
     
    						//Send the response to the client at "address" and "port"
    		                InetAddress address = packet.getAddress();
    		                int port = packet.getPort();
    		                packet = new DatagramPacket(buf, buf.length, address, port);
    		                socket.send(packet);
     
    		            } catch (IOException e) {
    						System.out.println("UDP server error: port "+servport+" not allowed");
    						servstart = false;
    		            }
    		        }
    			}
    			catch(Exception e){
    				System.out.println("Server UDP error: can't create server!");
    			}
    			finally{
    				try{
    					socket.close();
    				} catch(Exception e){
    					System.out.println("Server UDP error: can't close connection!");
    				}
    			}
    		}
     
        }
    }
    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
     
    package tcp;
     
    import java.io.*;
    import java.net.*;
     
    public class TopologyUDPClient {
    	private int clientport;
    	private String serverhost;
    	private DatagramSocket socket;
     
    	/**
             * Constructor: TopologyUDPClient: to make a TopologyUDPClient object
             * @param host: <B>The server host name</B>
             * @param port: <B>The server port number</B>
             */
    	public TopologyUDPClient(String host, int port){
    		clientport = port;
    		serverhost = host;
    	}
     
    	/**
             * Method startclient: to start client operation
             */
        public void startclient(){
    		long thelongtimer=-999;
     
    		try{
    	        //Get a datagram socket
    	        socket = new DatagramSocket();
     
    			//Start a timer to analyze the connection time
    			TopologyTimer timeranalyze = new TopologyTimer();
    			timeranalyze.start();
     
    			/////////////////////////////
    //			File filetoread = new File("md5summer.exe");
    //			RandomAccessFile lecture = new RandomAccessFile(filetoread,"r");
    //			byte[] buf = new byte[(int)lecture.length()];
    //			for(int i = 0 ; i < lecture.length() ; i++) {
    //			    buf[i] = lecture.readByte();
    //			}
    			////////////////////////////
     
    	        //Send request
    	        byte[] buf = new byte[256];//A modifier pour taille fichier
    			InetAddress address = InetAddress.getByName(serverhost);
    			String messagetosend="Sending a very lon string to analyze the connection quality" +
        			"test test test test test test test test test test test test test " +
        			"test test test test test test test test test test test test test " +
        			"test test test test test test test test test test test test test " +
    	    		"test test test test test test test test test test test test test " +
    	    		"test test test test test test test test test test test test test " +
    	    		"test test test test test test test test test test test test test " +
    	    		"test test test test test test test test test test test test test " +
    	    		"test test test test test test test test test test test test test " +
    		        "test test test test test test test test test test test test test ";
    			buf=messagetosend.getBytes();
    			DatagramPacket packet = new DatagramPacket(buf, buf.length, address, clientport);
    			socket.send(packet);
    	        //Get response
    	        packet = new DatagramPacket(buf, buf.length);
    	        socket.receive(packet);
     
    		    //Display response
    	        String received = new String(packet.getData());
    	        System.out.println("UDP server answer: " + received.substring(0,7));
     
    			//Terminate timer analyze
    			timeranalyze.end();
    			long timervalue;
    			if ((timervalue= timeranalyze.duration())>=0){
    				thelongtimer=timervalue;
    			}
    			System.out.println("Timer: "+ thelongtimer+"ms");
     
    		} catch(IOException ioe){
    			System.out.println("Client UDP error: can't create UDP connection!");
    		}
    		finally{
    			try{
    				socket.close();
    			} catch(Exception e){
    				System.out.println("Client UDP error: can't close connection!");
    			}
    		}
        }
    }
    Pour envoyer le fichier j'avais pensé utiliser ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		/////////////////////////////
    //			File filetoread = new File("md5summer.exe");
    //			RandomAccessFile lecture = new RandomAccessFile(filetoread,"r");
    //			byte[] buf = new byte[(int)lecture.length()];
    //			for(int i = 0 ; i < lecture.length() ; i++) {
    //			    buf[i] = lecture.readByte();
    //			}
    //			System.out.println("1111111\n"+(int)lecture.length());
    			////////////////////////////
    Et de cette façon j'aurai envoyer mon tableau de byte, hors rien ne marche, le client ne peut terminer l'envoie du fichier.

    Quelqu'un a t'il une explication??

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Ton serveur ne peut lire que 256 bytes.
    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Oui, ça je sais pour le moment, mais j'ai deja essayé en parametrant ça pour un fichier de 10Mo, cependant ça bloque toujours.

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Voilà un programme de TEST qui fonctionne

    Module principal:
    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
    /*
     * Created on 21.12.2005
     *
     * To change the template for this generated file go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
     
    /**
     * @author marfab001
     *
     * To change the template for this generated type comment go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
    public class UDPCon {
     
    	public static void main(String[] args) {
            if (args.length < 2) {
            	System.exit(1);
            }
            if ("server".equalsIgnoreCase(args[0])) {
            	int port = Integer.parseInt(args[1]);
                UDPServer server = new UDPServer(port);
                server.start();
            }
            else {
                int port = Integer.parseInt(args[2]);
                UDPClient client = new UDPClient(args[1], port);
                StringBuffer data = new StringBuffer();
                if (args.length >= 3) {
                    data.append(args[3]);
                	for (int i = 4; i< args.length; ++i) {
                        data.append(" ");
                		data.append(args[i]);   
                	}
                }
                client.send(data.toString().getBytes());
            }
    	}
    }
    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
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
     
    /*
     * Created on 21.12.2005
     *
     * To change the template for this generated file go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
     
    /**
     * @author marfab001
     *
     * To change the template for this generated type comment go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
    public class UDPClient {
           private int clientport;
           private String serverhost;
           private DatagramSocket socket;
     
           /**
            * Constructor: TopologyUDPClient: to make a TopologyUDPClient object
            * @param host: <B>The server host name</B>
            * @param port: <B>The server port number</B>
            */
           public UDPClient(String host, int port){
              clientport = port;
              serverhost = host;
           }
     
           /**
            * Method startclient: to start client operation
            */
            public void send(byte[] data){
              long thelongtimer=-999;
     
              try{
                   //Get a datagram socket
                   socket = new DatagramSocket();
     
                 /////////////////////////////
    //           File filetoread = new File("md5summer.exe");
    //           RandomAccessFile lecture = new RandomAccessFile(filetoread,"r");
    //           byte[] buf = new byte[(int)lecture.length()];
    //           for(int i = 0 ; i < lecture.length() ; i++) {
    //               buf[i] = lecture.readByte();
    //           }
                 ////////////////////////////
     
                   //Send request
                   InetAddress address = InetAddress.getByName(serverhost);
                 DatagramPacket packet = new DatagramPacket(data, data.length, address, clientport);
                 socket.send(packet);
                   //Get response
                   byte[] buf = new byte[256];
                   packet = new DatagramPacket(buf, buf.length);
                   socket.receive(packet);
     
                  //Display response
                   String received = new String(packet.getData());
                   System.out.println("UDP server answer: " + received.substring(0,7));
     
     
              } catch(IOException ioe){
                 System.out.println("Client UDP error: can't create UDP connection!");
              }
              finally{
                 try{
                    socket.close();
                 } catch(Exception e){
                    System.out.println("Client UDP error: can't close connection!");
                 }
              }
            }
    }
    Server:
    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
     
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
     
    /*
     * Created on 21.12.2005
     *
     * To change the template for this generated file go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
     
    /**
     * @author marfab001
     *
     * To change the template for this generated type comment go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
    public class UDPServer extends Thread {
     
        protected DatagramSocket socket = null;
        protected BufferedReader in=null;
        protected boolean servstart = true;
        private int servport;
     
       /**
        * Constructor TopologyUDPServer: to create a TopologyUDPServer object
        * @param port: <B>The UDP port number</B>
        */
        public UDPServer(int port){
          servport = port;
          try {
             socket = new DatagramSocket(servport);
          } catch(IOException ioe){
             System.out.println("Server can't start at port:"+servport);
             servstart=false;
          }
        }
     
       /**
        * Method run: to make server operation
        */
        public void run() {
          if(servstart){
             try{
                System.out.println("Server started...");      
                  while (servstart) {
                      try {
                      //Receive request
                          byte[] buf = new byte[256]; //A modifier pour taille fichier
                          DatagramPacket packet = new DatagramPacket(buf, buf.length);
                          socket.receive(packet);
                          String msg_read = new String(packet.getData(), 0, packet.getLength());
                          System.out.println("Server Receive (" + packet.getLength() + "): '"+ msg_read + "'");
     
                      //Figure out response
                          buf = "SUCCESS".getBytes();
     
                      //Send the response to the client at "address" and "port"
                          InetAddress address = packet.getAddress();
                          int port = packet.getPort();
                          packet = new DatagramPacket(buf, buf.length, address, port);
                          socket.send(packet);
     
                      } catch (IOException e) {
                      System.out.println("UDP server error: port "+servport+" not allowed");
                      servstart = false;
                      }
                  }
             }
             catch(Exception e){
                System.out.println("Server UDP error: can't create server!");
             }
             finally{
                try{
                   socket.close();
                } catch(Exception e){
                   System.out.println("Server UDP error: can't close connection!");
                }
             }
          }
     
        }
    }

    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    C:\projects\UDPCon>java -cp ./bin UDPCon server 8888
    Server started...
    Server Receive (179): 'Sending a very lon string to analyze the connection quality test test test test test test test test test test test test test test test te
    st test test test test test test test test'
    Server Receive (256): 'Sending a very lon string to analyze the connection quality test test test test test test test test test test test test test test test te
    st test test test test test test test test packet.getLength( packet.getLength( packet.getLength( packet.getLength( pack'
    Server Receive (256): 'Sending a very lon string to analyze the connection quality test test test test test test test test test test test test test test test te
    st test test test test test test test test packet.getLength( packet.getLength( packet.getLength( packet.getLength( pack'
    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
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection
    est test test test test test test test test test test test test test test test test test test
    UDP server answer: SUCCESS
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection
    est test test test test test test test test test test test test test test test test test test
    UDP server answer: SUCCESS
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection
    est test test test test test test test test test test test test test test test test test test packet.getLength( packet.getLen
    ngth( packet.getLength(
    UDP server answer: SUCCESS
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection
    est test test test test test test test test test test test test test test test test test test packet.getLength( packet.getLen
    ngth( packet.getLength(
    UDP server answer: SUCCESS
    On constate que l'envoi d'un message du client vers le serveur fonctionne.

    Je vais essayer d'envoyer plusieurs messages.
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Modification du module principal:
    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
    /*
     * Created on 21.12.2005
     *
     * To change the template for this generated file go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
     
    /**
     * @author marfab001
     *
     * To change the template for this generated type comment go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
    public class UDPCon {
     
    	public static void main(String[] args) {
            if (args.length < 2) {
            	System.exit(1);
            }
            if ("server".equalsIgnoreCase(args[0])) {
            	int port = Integer.parseInt(args[1]);
                UDPServer server = new UDPServer(port);
                server.start();
            }
            else {
                int port = Integer.parseInt(args[2]);
                UDPClient client = new UDPClient(args[1], port);
                StringBuffer msg = new StringBuffer();
                if (args.length >= 3) {
                    msg.append(args[3]);
                	for (int i = 4; i< args.length; ++i) {
                        msg.append(" ");
                		msg.append(args[i]);   
                	}
                }
                byte[] data = msg.toString().getBytes();
                int lengthData = data.length;
                int offset = 0;
     
                while (lengthData > 0) {
                    int length = Math.min(256, lengthData);
                    byte[] toSend = new byte[length];
                    System.arraycopy(data, offset, toSend, 0, length);
                    System.out.println("Send " + length);
                	client.send(toSend);
                    lengthData -= length;
                    offset += length;
                }
            }
    	}
    }
    Le programme fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection quality test test test test test t
    est test test test test test test test test test test test test test test test test test test packet.getLength( packet.getLength( packet.getLength( packet.getLength( packet.getLength( test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test
    Send 256
    UDP server answer: SUCCESS
    Send 256
    UDP server answer: SUCCESS
    Send 147
    UDP server answer: SUCCESS
     
    C:\projects\UDPCon>java -cp ./bin UDPCon client localhost 8888 Sending a very lon string to analyze the connection quality
    Send 59
    UDP server answer: SUCCESS
    Bien le bonjour chez vous
    Jowo

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Oki, je vais regarder ça en rentrant tout à l'heure?

    Merci


    Mais tes array de bytes, tu as bien dedans le contenu d'un fichier?

    Car à vu d'oeil, je vois que tu appelles le serveur, pour chacun des bytes que tu veux envoyer (c'est bien ça?), mais alors coté serveur, je dois stocker tout mes byte et reformuler le fichier. Non? Tes bytes sont envoyé un par un d'après ce que je vois.

    Cependant, si j'envois les bytes en créant une nouvelle connexion avec le serveur à chaque fois, cela ne va pas me faire perdre les précédent byte envoyé au serveur??

  7. #7
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Citation Envoyé par danje
    Oki, je vais regarder ça en rentrant tout à l'heure?

    Merci


    Mais tes array de byte, tu as bien dedans le contenu d'un fichier?

    Car ça me semblCar à vu d'oeil, je vois que tu appel le serveur, pour chacun des bytes que tu veux envoyer (c'est bien ça?), mais alors coté serveur, je dois stocker tout mes byte et reformuler le fichier. Non?

    Cependant, si j'envois les bytes en créant une nouvelle connexion avec le serveur à chaque fois, cela ne va pas me faire perdre les précédent byte envoyé au serveur??
    Je n'ai fait que reprendre ton programme. Effectivement le serveur va perdre les données précédentes.

    [EDIT]
    Connais-tu les désavantages de l'utilisation de UDP?
    [/EDIT]
    Bien le bonjour chez vous
    Jowo

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    UDP est orienté non-connexion, (au contraire de TCP_IP), il n'y a pas de controle d'erreur et on peut perdre des paquets.

    Ce qui fait que la transmission n'est pas sûr.

    On l'utilisera plutôt pour transmettre de la voix et de la vidéo, ou pour faire du streaming. En d'autres termes, ou on a pas besoin d'avoir une connexion fiable a 100%.

    Vala vala, n'empeche suis toujours bloqué pour l'envoie d'un fichier :p mais je vais m'arranger

Discussions similaires

  1. Comment envoyer des fichiers avec winsock2 ?
    Par x-programer dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 08/02/2009, 08h29
  2. Comment envoyer un fichier d'un client au serveur
    Par opiece dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 13/02/2008, 11h50
  3. Comment appeler un fichier dans mon code
    Par olfasupcom dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2007, 12h16
  4. comment envoyer un fichier d'un client vers un serveur
    Par nad30 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/05/2007, 13h55
  5. Réponses: 2
    Dernier message: 22/06/2006, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo