Aide serveurTCP en java

Fermé
kaenef_irt Messages postés 121 Date d'inscription dimanche 27 août 2006 Statut Membre Dernière intervention 19 mai 2015 - 17 mars 2009 à 15:35
kaenef_irt Messages postés 121 Date d'inscription dimanche 27 août 2006 Statut Membre Dernière intervention 19 mai 2015 - 17 mars 2009 à 17:55
Bonjour,
je veux ecrire un programme serveur qui puisse communique avec des programmes clients mais voilà quand j'execute mon code avec eclipse(il n'y a pas d'erreurs) il affiche le message suivant:

Impossible de lier la socket Cannot assign requested address: JVM_Bind
java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at serveur_TCP.main(serveur_TCP.java:16)

j'aimerais vraiment savoir ce qui ne va pas

voici mon code:

import java.io.*;
import java.net.*;
public class serveur_TCP {
public static void main(String[] args)
{
Socket socEs=null; // Socket communication
InetAddress addr=null;
BufferedReader fin=null;
byte[] octets={10,0,0,17};
PrintWriter fout;
try {

addr=InetAddress.getByAddress(octets);
ServerSocket socSer=new ServerSocket(20000,20,addr);

while (true)
{
System.out.println("J'attend une connexion :");
socEs=socSer.accept();
System.out.println("J'ai reçu une connexion");// A reçu une connexion
fin=new BufferedReader(new InputStreamReader(socEs.getInputStream()));
fout = new PrintWriter(socEs.getOutputStream());
System.out.println("Voici les données provenant du client:");
while (fin.ready()){
System.out.println(fin.readLine());
}
fin.close();
fout.println("j'ai re‡ue votre requˆte");
fout.flush();
fout.close();
socEs.close();
}
}
catch (Exception ex)
{
System.out.println("Impossible de lier la socket "+ex.getMessage());
ex.printStackTrace();
}
}
}
A voir également:

1 réponse

kaenef_irt Messages postés 121 Date d'inscription dimanche 27 août 2006 Statut Membre Dernière intervention 19 mai 2015 2
17 mars 2009 à 17:55
j'ai pu resoudre mon prbleme mais cette fois je suis confronté à un autre probleme mon serveur et mon client n'arrive pas à communiquer pourtant il n'y a apparamment pas d'erreur;je ne sais pas si le pb se trouve au niveau des adresses je les ai changé mais rien n'y fait que faut il ajouter ou supprimer?

voici les codes

SERVEUR:

import java.io.*;
import java.net.*;
public class serveurTcp{
public static void main(String[] args)
{
//PrintWriter fout;
byte[]octets=new byte[4];
octets[0]=101;
octets[1]=0;
octets[2]=0;
octets[3]=1;
try
{
InetAddress addr=InetAddress.getByAddress(octets);
ServerSocket socSer=new ServerSocket(20000,20,addr);
Socket socEs=null;
BufferedReader fin;
while(true)
{
System.out.println("je suis en attente d'une connexion");
socEs=socSer.accept();
System.out.println("J'ai reçu une connexion");
socEs.setSoTimeout(0);

fin=new BufferedReader(new InputStreamReader(socEs.getInputStream()));
fout = new PrintWriter(socEs.getOutputStream());
System.out.println("Voici les données provenant du client:");
while(fin.ready()){
System.out.println(fin.readLine());}

fin.close();
fout.println("j'ai reçu votre requete");
fout.flush();
fout.close();
socEs.close();

}


}
catch(Exception en)
{}

}
}




CLIENT:

import java.io.*;
import java.net.*;
public class ClientTcp{
public static void main(String[] args)
{

byte[]octets=new byte[4];
octets[0]=101;
octets[1]=0;
octets[2]=0;
octets[3]=1;
byte[]oct=new byte[4];
oct[0]=10;
oct[1]=0;
oct[2]=0;
oct[3]=33;
try
{
InetAddress addr=InetAddress.getByAddress(octets);
InetAddress ad=InetAddress.getByAddress(oct);
Socket soc=new Socket(addr,20000,ad,10000);

PrintWriter fout=new PrintWriter(new OutputStreamWriter(soc.getOutputStream()));
fout.println("etes vs connecté?");
fout.flush();
soc.close();

}
catch(Exception en)
{}

}
}
0