Client/Serveur Java/Perl

Client/Serveur Java/Perl - Java - Programmation

Marsh Posté le 09-06-2002 à 12:13:24    

Salut
 
J'ai entrepris de créer un petit système client/Serveur avec le serveur Perl mais le client en Java.
 
J'ai donc créer une classe pour géré qui utilise des données primitives pour l'envoi.
 
Je me connecte au serveur en utilisant un DataOutputStream à l'objet Socket.
Pour faire plus simple, voici mon code de connexion qui gènère une IOException
 
public void Connect() {
 
 // Création du Socket - Connexion
 try {
   // S'il est déjà ouvert, on le ferme
   if (sock != null) sock.close();
   // Et on en ouvre un nouveau
   sock = new Socket(IP_Serveur,Port);
 
   // Lorsque la connexion a été établie on ouvre le flux
   flux = new DataOutputStream(new BufferedOutputStream(sock.getOutputStream()));
 }
 catch (UnknownHostException e2) {System.out.println("[Client] Connexion: Hote inconnu" ); }
 catch (IOException e1)    {System.out.println("[Client] Connexion: Serveur introuvable" ); }
}
 
Est-il impossible de créer un socket vers un serveur non Java ?
Dois-je utiliser une autre technique ?
 
Merci d'avance
 
Aurélien

Reply

Marsh Posté le 09-06-2002 à 12:13:24   

Reply

Marsh Posté le 10-06-2002 à 09:29:03    

non non rien à voir. Si tu as un server socket de l'autre coté (une socket qui écoute les demandes de connection) ca doit marcher quel que soit le language.
 
Le plus simple dans ton cas étant, depuis la machine qui lance ce process java, de faire un telnet sur l'ip et le port pour voir si ca répond.
 
Pense aussi aux restrictions de sécurité entre machine, particulièrement si tu es dans un environnmeent non windows
 
A+


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 10-06-2002 à 09:36:04    

Sinon un détail :
flux = new DataOutputStream(new BufferedOutputStream(sock.getOutputStream()));
 
tu peux le simplifier par :
flux = new DataOutputStream(sock.getOutputStream());
 
enfin je ne pense pas que c'est ça qui réglera ton problème...

Reply

Marsh Posté le 10-06-2002 à 14:43:32    

Ce qui me gène bpc, c'est que j'avais déjà réalisé le client en Perl, qui marchait très bien. Je suis en train de la reprogrammer en Java mais j'arrive pas à me connecter.
Le socket est bien en écoute car je continue d'utiliser mon client Perl qui fonctionne.
 
Pour ce qui est des restrictions, il y en a aucune à ce niveau là, n'ayant pas encore mis de firewalling en place sur ce serveur.
 
C'est vraiment très étrange.

Reply

Marsh Posté le 13-06-2002 à 10:49:58    

lelfe a écrit a écrit :

Ce qui me gène bpc, c'est que j'avais déjà réalisé le client en Perl, qui marchait très bien. Je suis en train de la reprogrammer en Java mais j'arrive pas à me connecter.
Le socket est bien en écoute car je continue d'utiliser mon client Perl qui fonctionne.
 
Pour ce qui est des restrictions, il y en a aucune à ce niveau là, n'ayant pas encore mis de firewalling en place sur ce serveur.
 
C'est vraiment très étrange.  




 
Je dis peut être une connerie là, mais tu essaierais pas de te connecter avec ton client JAVA alors que ton client PHP est connecté?  :D

Reply

Marsh Posté le 13-06-2002 à 10:53:11    

Et alors?? Si son serveur est capable de gérer plusieurs connections, je vois pas le problème!
 
Déjà, essaie de mettre une trace de l'IOException  
 
catch (IOException e1) {
   e1.printStackTrace(System.out);
}
 
pour voir quelle ligne lève l'exception.

Reply

Marsh Posté le 13-06-2002 à 10:55:53    

gfive a écrit a écrit :

Et alors?? Si son serveur est capable de gérer plusieurs connections, je vois pas le problème!




 
C'est pour ça que je disais que je disais peut être une connerie!  :D

Reply

Marsh Posté le 13-06-2002 à 22:50:35    

J'ai déjà un catch de l'exception.
Mais je crois que je viens de comprendre.
J'utilise de l'UDP !
Je suis presque sur que c ca.
 
Comment on fait une connexion socket UDP en Java ?

Reply

Marsh Posté le 13-06-2002 à 23:06:56    

lelfe a écrit a écrit :

J'ai déjà un catch de l'exception.
Mais je crois que je viens de comprendre.
J'utilise de l'UDP !
Je suis presque sur que c ca.
 
Comment on fait une connexion socket UDP en Java ?  




 
mais le monsieur te disait d'imprimer la stackTrace de l'exception avec e.printStackTrace() dans ton catch {}, afin de voir ou cette exception etait levée...


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 14-06-2002 à 08:58:20    

c'est clair que si ton serveur est UDP et que tu essaies de te connecter en TCP dessus ca va desuite moins bien marcher :D
 
DatagramSocket pour l'udp


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed