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 :

socket ObjectOutputStream ObjectInputStream


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 57
    Points : 42
    Points
    42
    Par défaut socket ObjectOutputStream ObjectInputStream
    salut.
    j'ai implémenté un simple client - serveur. En fait le serveur affiche sur une console ce que le client lui envoyé. Tout fonctionne très bien. J'ai utilisé BufferedReader et Printwriter pour les flux entrant et sortant je voudrais bien remplacé ces deux derniers par ObjectOutputStream et ObjectInputstream mais ça coince quelque part . voici mes codes avec BufferedReader et Printwriter
    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
    import java.io.*;
    import java.net.*;
    public class EchoClient {
    public static void main (String []args){
    //	if(args.length!=2){
    //		System.err.println("Aufruf:EchoClient<host>"+"<port>");
    //		System.exit(1);
    //	}
    //	String host = "locahost";
    //	int port = 1131;
    //	try{
    //		port = Integer.valueOf(args[1]).intValue();
    //	}
    //	catch (NumberFormatException e){
    //		System.err.println("ungueltige Portnummer");
    //		System.exit(1);
    //	}
    	Socket socket = null;
    	try {
    		socket = new Socket("localhost",5000);
    		System.out.println("Local host:"+socket.getLocalAddress().getHostAddress());
    		System.out.println("Local port:"+ socket.getLocalPort());
    		System.out.println("Remote host:"+socket.getInetAddress().getHostAddress());
    		System.out.println("Remote port:"+socket.getPort());
     
    		BufferedReader sockin = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    		PrintWriter sockout = new PrintWriter(socket.getOutputStream(),true);
    		BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     
    		String input,str;
    		while(true){
    			System.out.print(">");
    			input = in.readLine();
    			if(input==null ||input.equals("q")) break;
     
    			sockout.println(input);
    			str=sockin.readLine();
    			System.out.println(str);
    			sockout.flush();
    		}
    	}
    	catch(Exception e){
    		System.err.println(e);
    	}
    	finally{
    		try{
    			if(socket!=null)socket.close();
     
    		}
    		catch (IOException e){
     
    		}
    	}
    }
    }
    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
    import java.io.*;
    import java.net.*;
    public class EchoServer1 {
    	public static void main(String []args){
    //	if(args.length!=1){
    //		System.err.println("Aufruf:EchoClient<host>"+"<port>");
    //		System.exit(1);
    //	}
    	String host = "java EchoServer1";
    	int port = 5000;
    //	try{
    //		port = Integer.valueOf(args[1]).intValue();
    //	}
    //	catch (NumberFormatException e){
    //		System.err.println("ungueltige Portnummer");
    //		System.exit(1);
    //	}
    	try{
    		InetAddress addr = InetAddress.getLocalHost();
    		ServerSocket server = new ServerSocket(port);
    		System.out.println("EchoServer1 auf"+addr.getHostName()+" "+addr.getHostAddress()+" :"+port+"gestartet.....");
     
    			Socket client = server.accept();
    			InetAddress clientaddr = client.getInetAddress();
    			int clientport = client.getPort();
    			System.out.println("verbindung zu"+clientaddr.getHostAddress()+":"+clientport+"aufgebaut");
    			try{
    				BufferedReader sockin = new BufferedReader(new InputStreamReader(client.getInputStream()));
    				PrintWriter sockout= new PrintWriter(client.getOutputStream(),true);
     
    				String input;
    				while((input=sockin.readLine())!=null){
    					sockout.println("Antwort vom Server:"+input);
    				}
    			}
    			catch (IOException e){
    				System.err.println(e);
    			}
    			finally {
    				try{
    					if(client!=null) client.close();
    				}
    				catch (IOException e){
     
    				}
    				System.out.println("verbindung zu +"+clientaddr.getHostAddress()+":"+clientport+"abgebaut");
    			}
     
    	}
    	catch(Exception e){
    		System.err.println(e);
    	}
    }
    }
    que dois je svp exactement changé pour obtenir le même résultat.

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    Ça coince à quel niveau ?
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/12/2010, 13h18
  2. Réponses: 6
    Dernier message: 07/07/2010, 16h12
  3. Probleme avec les ObjectInputStream et ObjectOutputStream
    Par nzo70 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 08/12/2008, 22h08
  4. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  5. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

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