Probleme socket
Hacker#1
Messages postés
88
Statut
Membre
-
nabil07 Messages postés 161 Statut Membre -
nabil07 Messages postés 161 Statut Membre -
Bonjour,
j ai un tp qui propose de faire un programme serveur qui compte les caracteres recus et renvoie le total courant au programme client a travers outputstream de sa socket z chaque fois qu un caratere est recu
mon code
server.java
client.java
a l'execution de client j
et server
aider moi svp
j ai un tp qui propose de faire un programme serveur qui compte les caracteres recus et renvoie le total courant au programme client a travers outputstream de sa socket z chaque fois qu un caratere est recu
mon code
server.java
package tt;
import java.io.*;
import java.net.*;
public class server {
public static void main(String args[]) throws IOException{
ServerSocket s=new ServerSocket(20000);
System.out.println("serveur en ecoute sur le port "+
s.getLocalPort());
Socket conn= s.accept();
System.out.println("connexion reçue depuis"+
conn.getRemoteSocketAddress());
PrintStream out = new PrintStream(conn.getOutputStream());
InputStream in=conn.getInputStream();
while(true)
{ String str = in.readLine();
System.out.println(str);
}
conn.close();
System.out.println("fin du flux de donnees");
}
}
client.java
package tt;
import java.io.*;
import java.net.*;
public class client {
public static void main(String args[]) throws IOException{
Socket s=new Socket("localhost",20000);
PrintStream out= new PrintStream(s.getOutputStream());
InputStream in=s.getInputStream();
String str="Salut";
int len=str.length();
System.out.println(str+""+len);
str=in.readLine();
s.close();
}
}
a l'execution de client j
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method readLine() is undefined for the type InputStream at tt.client.main(client.java:15)
et server
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method readLine() is undefined for the type InputStream at tt.server.main(server.java:18)
aider moi svp
2 réponses
Bonsoir,
ton problème réside dans l'utilisation du flux d'entrée InputStream, car ce dernier ne possède pas une méthode pour lire toute une ligne.
voici une proposition de code :
Code client
Code serveur :
bonne soirée.
ton problème réside dans l'utilisation du flux d'entrée InputStream, car ce dernier ne possède pas une méthode pour lire toute une ligne.
voici une proposition de code :
Code client
import java.io.*;
import java.net.*;
public class client {
public static void main(String args[]) throws IOException{
Socket s=new Socket("localhost",20000);
PrintStream out= new PrintStream(s.getOutputStream());
InputStream in=s.getInputStream();
String str="Salut";
int len=str.length();
System.out.println(str+" "+len);
out.println(str+""+len);
//str=in.readLine();
s.close();
}
}
Code serveur :
import java.io.*;
import java.net.*;
public class server {
public static void main(String args[]) throws IOException{
ServerSocket s=new ServerSocket(20000);
System.out.println("serveur en ecoute sur le port "+s.getLocalPort());
Socket conn= s.accept();
System.out.println("connexion reçue depuis"+conn.getRemoteSocketAddress());
PrintStream out = new PrintStream(conn.getOutputStream());
InputStream in=conn.getInputStream();
//while(true){
int c;
String str = "";
while((c=in.read()) != -1)
{
str += (char)c;
}
System.out.println(str);
conn.close();
System.out.println("fin du flux de donnees");
//}
}
}
bonne soirée.