[java] Reseau : j'ai pas la meme chose avec java qu'en telnet...

Reseau : j'ai pas la meme chose avec java qu'en telnet... [java] - Java - Programmation

Marsh Posté le 22-06-2004 à 00:12:43    

bonsoir :hello:
 
j'essaie de faire ca en java :
 

mathieu@XWing java $ telnet messenger.hotmail.com 1863
Trying 207.46.104.20...
Connected to messenger.hotmail.com.
Escape character is '^]'.
VER 1 MSNP9 MSNP8 CVR0
VER 1 MSNP9 MSNP8 CVR0
CVR 1 0x0409 win 4.10 i386 MSMSGR 6.0.0602 MSMSGS perchut2@free.fr\r\n
CVR 1 1.0.0000 1.0.0000 1.0.0000 http://download.microsoft.com/download/msnmesse nger/install/4.6/win98me/en-us/mmssetup.exe http://messenger.msn.com
Connection closed by foreign host.
mathieu@XWing java $


 
 
que j'ai écrit comme ca :
 

Code :
  1. import java.io.*;
  2. import java.net.*;
  3. public class Connexion {
  4. private Socket socket;
  5. public Connexion() {
  6. PrintWriter envoi;
  7. BufferedReader reception;
  8. String str;
  9. String protocolVersions = "VER 1 MSNP9 MSNP8 CVR0\r\n";
  10. String infoClient = "CVR 1 0x0409 win 4.10 i386 MSMSGR 6.0.0602 MSMSGS perchut2@free.fr\r\n";
  11. try {
  12. socket = new Socket("messenger.hotmail.com",1863);
  13. //socket.setTrafficClass(0x10);
  14. envoi = new PrintWriter(
  15.   new BufferedWriter(
  16.    new OutputStreamWriter(
  17.     socket.getOutputStream())),true);
  18. reception = new BufferedReader(
  19.    new InputStreamReader(
  20.     socket.getInputStream()));
  21. /* envoi de version des protocoles */
  22. envoi.println(protocolVersions);
  23. str = reception.readLine();
  24. System.out.println("envoi de version :\n >>" + protocolVersions);
  25. System.out.println("le server repond :\n << "+str);
  26. /* envoi des informations du client */
  27. envoi.println(infoClient);
  28. str = reception.readLine();
  29. System.out.println("envoi des infos du client :\n" + infoClient);
  30. System.out.println("le serveur repond :\n << " +str);
  31. }
  32. catch (Exception e) {System.out.println(""+e);}
  33. }
  34. }


 
rien de bien transcendant, mais le probleme, c'est qu'a l'output j'obtiens ca : :??:
 

mathieu@XWing java $ java -classpath classes/ Msn
envoi de version :
 >>VER 1 MSNP9 MSNP8 CVR0
 
le server repond :
 << VER 1 MSNP9 MSNP8 CVR0
envoi des infos du client :
CVR 1 0x0409 win 4.10 i386 MSMSGR 6.0.0602 MSMSGS perchut2@free.fr
 
le serveur repond :
 << null


 
quelqu'un a une idee ? :??:

Reply

Marsh Posté le 22-06-2004 à 00:12:43   

Reply

Marsh Posté le 22-06-2004 à 01:07:42    

j'y connais niet en java
essaye de vider ta variable str avant de faire la reception de infoClient
Et en mettant
System.out.println("le serveur repond :\n << " + reception.readLine())
 
?

Reply

Marsh Posté le 22-06-2004 à 21:56:16    

J'ai travailler bcp avec le protocol de Msn Messenger, et quand le serveur repond null, c'est que tu ne lui a pas envoyer quelque chose comme il le voulait.  
 
Premiere remarque, tu peux peut-etre essayer de passer par dessus la commande CVR. Si je me rappelle bien, elle n'est pas indispensable pour continuer.
 
Deuxieme chose, il va arriver des fois que tu aies besoin d'envoyer des chaine de caractere comme suit:  
 


VER MSPN8 MSPN7\r\nMSNP5 MSNP4


 
assure toi que TOI SEUL decide quand est-ce que tu as besoin des caracteres de fin de ligne et tout et pas la methode que tu utilise pour ecrire sur le socket.

Reply

Marsh Posté le 23-06-2004 à 08:40:56    

merci j'essaie ce soir :jap:

Reply

Marsh Posté le 23-06-2004 à 23:02:54    

bon, ben je m'en sors pas, j'ai le meme probleme si j'essaie de passer par dessus la commande cvr, j'ai toujours un null :/ je comprends pas :/

Reply

Marsh Posté le 23-06-2004 à 23:32:40    

Et en passant pas un analyseur de traffic pour pouvoir comparer les paquets octet par octet ?
 
(autant y aller bourin)


Message édité par gm_superstar le 23-06-2004 à 23:33:02

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 23-06-2004 à 23:39:56    

ah bah, j'ai (avant meme d'avoir vu ton message) installé et essayé avec ethereal avec amsn (celui que j'utilise) et mon bout de programme, et FealiT a raison : j'ai des \n qui se foutent la ou il faut pas, donc je bosse la dessus :jap:

Reply

Marsh Posté le 23-06-2004 à 23:44:56    

j'ai trouvé : en utilisant println, je rajoute un \n, donc j'ai deux \n en fin de compte, si bien que le serveur recoit \n au lieu de recevoir le debut de la commande suivante.  
 
par contre, bizarrement, si j'essaie une methode print(string) au lieu de println, ca marche pas... donc j'utilise le println, et je vire le \n de ma commande :jap:

Reply

Marsh Posté le 24-06-2004 à 03:35:01    

tu va aussi avoir besoin de ta commande PRINT si je me rappelle bien  
 
aussitot que tu utilise ton println, c'est lui qui ajoute les caracteres de fin de ligne automatiquemenet (d'ou le printLN), donc oui ca serait une bonne raison pour laquelle le serveur msn te renverrait NULL, tu va voir que le serveur MSN est assez capricieux sur ce coté.  
 
bonne chance pour ton logiciel, ca prend bcp de recherche et ne desespere pas :)

Reply

Marsh Posté le 24-06-2004 à 11:00:06    

Je me trompe peut etre mais en utilisant print(), il te faudrait faire un flush(). je suis pas sur que print() en fasse un contrairement au println() qui fais un newLine().

Reply

Marsh Posté le 24-06-2004 à 11:00:06   

Reply

Marsh Posté le 24-06-2004 à 14:52:32    

drachenkiller a écrit :

Je me trompe peut etre mais en utilisant print(), il te faudrait faire un flush(). je suis pas sur que print() en fasse un contrairement au println() qui fais un newLine().


newline() ca fait flush() ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 24-06-2004 à 15:11:13    

c'est pas sur ( j'avais ecrit "peut-etre" ) mais il semblerais que l'utilisation de println fasse un flush(). ça reste a voir.

Reply

Marsh Posté le 26-06-2004 à 21:05:22    

FealiT a écrit :

J'ai travailler bcp avec le protocol de Msn Messenger, et quand le serveur repond null, c'est que tu ne lui a pas envoyer quelque chose comme il le voulait.  
 
Premiere remarque, tu peux peut-etre essayer de passer par dessus la commande CVR. Si je me rappelle bien, elle n'est pas indispensable pour continuer.
 
Deuxieme chose, il va arriver des fois que tu aies besoin d'envoyer des chaine de caractere comme suit:  
 


VER MSPN8 MSPN7\r\nMSNP5 MSNP4


assure toi que TOI SEUL decide quand est-ce que tu as besoin des caracteres de fin de ligne et tout et pas la methode que tu utilise pour ecrire sur le socket.


t y a travaillé assez pour savoir comment gérer les msnobj [:cupra] ?
 
sinon Perchut2>> tu peux regarder cette lib pas mal fichu : http://jmsn.sourceforge.net/ t'as la javadoc ici MSN Library Java API Document (For developers)   ;)  
 
 


Message édité par veryfree le 26-06-2004 à 21:07:14
Reply

Marsh Posté le 28-06-2004 à 20:15:39    

Non malheureusement, j'ai travaillé avec le protocol MSN avant le changement recent (octobre 2003) qui a obligé tout le monde à mettre à jour leur version de msn vers la version 6.0. J'ai donc pas vraiment pu voir toute les nouveautés depuis.  :cry:

Reply

Marsh Posté le 28-06-2004 à 20:16:46    

FealiT a écrit :

Non malheureusement, j'ai travaillé avec le protocol MSN avant le changement recent (octobre 2003) qui a obligé tout le monde à mettre à jour leur version de msn vers la version 6.0. J'ai donc pas vraiment pu voir toute les nouveautés depuis.  :cry:


 
pleure pas, c'et vraiment chiant comme truc.
heureusement que certains on deja fait pas mal de recherche, ca aide la communauté :)
 

Reply

Marsh Posté le 07-10-2004 à 19:35:11    

veryfree a écrit :


tu peux regarder cette lib pas mal fichu : http://jmsn.sourceforge.net/ t'as la javadoc ici MSN Library Java API Document (For developers)   ;)


 
Vous savez pas où je pourrais trouver cette javadoc en anglais? :'(
je la cherche partout désespérement depuis 2-3 semaines
Merci

Reply

Marsh Posté le 07-10-2004 à 19:58:21    

c'est impressionant quand on recherche "jmsn javadoc" dans google ...  
premier résultat [:le kneu]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 07-10-2004 à 22:31:58    

tu penses que c'est par ça que j'ai commencé (et c'est comme ça que je suis arrivé ici)
en gage de bonne foi je l'ai refait:
1ere réponse : ce topic ^^
2e : la javadoc de blojsim en anglais et basé sur jmsn... mais pas celle de jmsn
je tombe meme pas sur la page officiel du projet :-/
D'ailleur j'y suis allé, c'est coréen à partir de la page d'acceuil, seul quelques bout de codes sont en anglais (étonnant non ? :oP) mais pas suffisement pour pouvoir utiliser le package...
en tapant "jmsn" j'accede a la page du projet sur sourceforge (jmsn.sourceforge.net et www.sourceforge.net/project/jmsn) la 1ere contient la javadoc ... en coréen... la 2nde "msnmlib" avec une doc à moitié en anglais moitié coréen... et pour les principales fonctions que du coréen...
Il n'y a pas que chez moi que c'est comme ça puisque depuis mon IUT c'est la meme chose, et mon tuteur a eu le meme pb que moi...
 
Si tu as trouvé une page en anglais tu px me filer le lien stp?  
Merci


Message édité par dvkam le 07-10-2004 à 22:34:09
Reply

Marsh Posté le 08-10-2004 à 07:52:46    

que ca serve d'exemple à ceux qui font leur code et leurs commentaires en Français ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-10-2004 à 07:55:17    

benou a écrit :

que ca serve d'exemple à ceux qui font leur code et leurs commentaires en Français ...


[:totoz]

Reply

Marsh Posté le 08-10-2004 à 17:29:26    

Et donc ya personne qui a une version anglaise?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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