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
A voir également:
- Probleme socket
- Socket 478 ✓ - Forum Processeur
- Carte mere socket 775 - Forum Carte graphique
- Check_nrpe state critical: socket timeout after 10 seconds. ✓ - Forum Ubuntu
- Exception:une requête d’envoi ou de réception de données n’a pas été autorisée car le socket n’est pas connecté et (lors de l’envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n’a été fournie ✓ - Forum Programmation
- Processeur pour socket P sur socket 478 - Forum Matériel & Système
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.