Socket et Exception in thread "main" java.net.SocketException: Connection reset
Salut j'essaie de créer une connection entre 1 client et 1 serveur mais j'obtiens un connexion reset on ecclipse m'indique que le problème vient de l'utilise de readLine() :s car la je voudrais que le serveur m'affiche etape 1 et le message que j'ai envoyé la dès que je rentre le mot de passe au niveau client il ne se passe rien voici le code :
Code:
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
|
import java.io.*;
import java.net.*;
public class Serveur {
public static void main (String args[]) throws IOException
{
int PORT=2000;
ServerSocket sersoc =new ServerSocket(PORT);
System.out.println("Server activé sur le port"+PORT);
while(true)
{
Socket soc=sersoc.accept();
String ligne_envoie="fichierararea.dat";
InputStream flux=soc.getInputStream();
BufferedReader entree=new BufferedReader(new InputStreamReader(flux));
//OutputStream renvoie=soc.getOutputStream();
//OutputStreamWriter renvoie1=new OutputStreamWriter(renvoie);
String message=entree.readLine();
System.out.println("etape 1"+message);
/*if (message=="polo")
{
System.out.println("etap 2");
renvoie1.write(ligne_envoie);
renvoie1.flush();
}
else System.out.println("rien");
*/
}
}
} |
Code:
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
| import java.io.*;
import java.net.*;
public class Fichier {
static String adresse="127.0.0.1";
static int port =2000;
public static void main (String args[]) throws IOException
{
Socket soc=new Socket(adresse,port);
OutputStream flux=soc.getOutputStream();
OutputStreamWriter pass=new OutputStreamWriter(flux);
String ligne_lue;
String envoie = null;
/* InputStream fluxi=soc.getInputStream();
BufferedReader entre=new BufferedReader(new InputStreamReader(fluxi));*/
System.out.println("Veuillez entrer le mot de passe");
ligne_lue=Clavier.lireString();
pass.write(ligne_lue);
pass.flush();
/*envoie=entre.readLine();
System.out.println("On vous a renvoyé ce nom"+envoie);*/
//System.out.println("Entrez le nom du fichier a modifier");
//envoie=Clavier.lireString();
/*DataOutputStream sortie=new DataOutputStream(
new BufferedOutputStream(new FileOutputStream(envoie)));
int n=1;
while(n!=0)
{
System.out.println("Entrez un nombre");
n=Clavier.lireInt();
if(n!=0)sortie.writeInt(n);
}
sortie.close();
System.out.println("Le fichier est fermé");
System.out.println("Allons lire le fichier");
DataInputStream entree=new DataInputStream(new BufferedInputStream(new FileInputStream(envoie)));
boolean eof=false;
try{
while(!eof)
{
n=entree.readInt();
if(!eof)System.out.println(n);
}
}
catch(EOFException e)
{
eof=true;
}
entree.close();
System.out.println("fin de lecture");*/
}
} |
Code:
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 89 90 91 92
| import java.io.*;
public class Clavier {
public static String lireString()
{
String ligne_lue=null;
try
{
InputStreamReader lecteur=new InputStreamReader(System.in);
BufferedReader entree=new BufferedReader(lecteur);
ligne_lue=entree.readLine();
}
catch(IOException err)
{
System.exit(0);
}
return ligne_lue;
}
public static float lireFloat()
{
float x=0;
try
{
String ligne_lue=lireString();
x=Float.parseFloat(ligne_lue);
}
catch(NumberFormatException err)
{
System.out.println("***Erreur de donnee");
System.exit(0);
}
return x;
}
public static double lireDouble()
{
double x=0;
try
{
String ligne_lue=lireString();
x=Double.parseDouble(ligne_lue);
}
catch(NumberFormatException err)
{
System.out.println("***Erreur de donnee***");
System.exit(0);
}
return x;
}
public static int lireInt()
{
int n=0;
try
{
String ligne_lue=lireString();
n=Integer.parseInt(ligne_lue);
}
catch(NumberFormatException err)
{
System.out.println("***Erreur de donnee***");
System.exit(0);
}
return n;
}
public static void main(String[] args)
{
System.out.println("entre un flot");
float x;
x=Clavier.lireFloat();
System.out.println("merci pour"+x);
System.out.println("entre un int");
int n;
n=Clavier.lireInt();
System.out.println("merci pour "+n);
System.out.println("entre une chaine");
String l;
l=Clavier.lireString();
System.out.println("merci pour"+l);
}
} |
Il s'agit de l'authentification auprès d'un serveur qui va renvoyer le nom d'un fichier afin que le client (fichier) puisse l'utiliser ,j'ai commenté le reste du cod e vu qu'il était bloqué histoire de pas trop se perdre et Clavier permet la lecture au clavier need help svp ^^