Java pour les nuls

hello bon me revoilou, je sais le chieur

Vla, j’ai decompiler un fichier class pour changer un parametre super chiant.
Il y a un timeout de 2 minutes.  Et je voudrais le changer

voila le code java

public void run()
  {
  timeoutCount = 1200;
  while(server != null || client != null)
  {
  try
  {
  Thread.sleep(1000L);
  }
  catch(Exception exception) { }
  timeoutCount–;
  if(timeoutCount < 1)
  {
  handler.log(name + “: Game timed out.”);
  disconnect();
  }
  }
  }
  private Connection server;
  private Connection client;
  private ArrayList spectators;
  private ConnectionHandler handler;
  private String name;
  private Connection connectingSpectator;
  private int spectatorCount;
  private String turn;
  private long ping;
  private int timeoutCount;
  private static final int CLIENT_TIMEOUT = 1200;

Alors c’est juste une partie de code d’un fichier. Mais je pense avoir bien taper.

Ce qui est en gras c’est ce que j’ai changer .
J’ai passé de 120 à 1200 car bon je presume que les 120 etaient des secondes.

Est ce que la ca parait correct ? Ou j’ai du oublié quelque chose ?

Alors le time out c’est sur un server proxy qui host des parties de foot.

Et si il y a 2 minutes d’inactivité il ferme la partie.
Dois je chercher encore ou ca parait correcte ?

Si je le recompile ( est ce simple ?) et remplace le fichier ca marchera ?

ben ecoute, ca me parait correct comme ca a brule pour point.
juste, au lieu de changer la valeur 1200 dans le final et dans la variable du run, pourquoi ne pas utiliser le final pour initialiser la variable du run ? tu as
private static final int CLIENT_TIMEOUT = 1200; et
timeoutCount = 1200;
autant faire
timeoutCount = CLIENT_TIMEOUT;
sinon, pour recompiler, ca depends des classe que tu as, si tu es dans un package tout ca, mais c’est pas tres compliqué
si tu es pas dans un package, un bon vieux javac -classpath . *.java devrait marcher.

Hum attention la tu parles chinois ^^ Java et php c’est aps du tout mon fort ^^

Ok, sinon voici le prog : http://jbbproxy.fumbbl.com/

alors j’ai ouvert le .jar et sorti les tous les fichiers class.

j’ai decompiler avec jad.

le morceau de prog ce situe game.class

mais j’ai vu dans les autres fichers du timeout, mais je pense que ca correspond au time out de la creation de partie .

donc si tu as le temps de voir si c’est bon.
Sinon comment recompiler ? Car bon reussir à casser c’est facile tout le monde sait le faire, mais reparer c’est autre chose ^^

hop, alors je viens de ragarder, ca m’a l’air tout bon ce que tu as fait. Il met aussi a jour la variable timeout dans l’appel a la methode ping(). je pense pas que ce soit genant, mais bon.
pour recompiler, c’est tout bete dans ce cas.
la classe Game.class que tu as decompilé doit s’appeler Game.jad.
tu la renommes en Game.java, tu fait ta modif, et tu tapes “javac Game.java”. Il va te recreer le .class qui contient ta modif.
ensuite tu remplaces le Game.class du jar par ton Game.class. Ca devrait marcher.
Ce message a été édité par cben76 le 17/06/2004

Rah grand merci de m’avoir conceder du temps cben.
A un pauvre admin reseau qui essaye la prog php/java
rah c’est pas si compliquer que ca par rapport à mon vieux c
Mais bon, du jour au lendemain ^^

Sinon c’est parfais, l’autre prog php fonctionne j’ai tout ce qu’il faut now ^^
listing des parties en cours, et timeout changer

MERCI !!

mais de rien content de voir que ton truc fonctionne comme tu veux

euh, c’est pas mon truc ^^ J’essaye d’ameliorer le prog. C’est pas moi du tout qui l’est fait

mais bon 2 minutes c’etait trop short. Encore merci !!

hum javac ca marche pas ,
l’option java -? je mets quoi ?

si tu as pas javac, c’est que tu dois télécharger le compilateur sur le site www.java.com.
Je serrais très très étonné que tu puisses compiler quelque chose avec java.

hum, j’ai pas trouvé le compilateur … Y a pas un compilateur lite ?
Car ce que j’ai trouvé c’est payant …

[quote]hum, j’ai pas trouvé le compilateur … Y a pas un compilateur lite ?
Car ce que j’ai trouvé c’est payant …[/quote]Sur java.com tu peux telecharger 2 choses : le jdk et le jre. Le jre te permet de faire tourner des programmes ecrits en java. Le jdk contient le jre avec en plus tout ce qu’il faut pour compiler des programmes en java.

C’est violent mais tu peux installer Netbeans (un éditeur java) et Java en bundle.

Ca se trouve ici: http://java.sun.com/j2se/1.4.2/download-netbeans.html. Une fois lancé, tu regardes où il pointe dans Filesystems (colone à gauche), tu mets le fichier dans ce répertoire, tu l’ouvres et tu fais Build>Compile.

Bon j’avais prévenu c’est violent, ya surement plus rapide, mais au moins là tu peux “éditer joli” :P.

ah , pour decompiler c’est super simple, mais pour compiler c’est chiant. Ok langage universelle mais chiant …

Ca prend encore combien de mega ca ? 100 ?

pff et ceux qui ont pas l’adsl
grrrrrrr 

Hum quoi 100 Mo le bean machin

putain c’est vraiment aps fait pour les RTC.
Pfff bande de sectere !!!

bon ca attendra demain au taff.
Merci !

decompiler 1s, compiler 1 jour genial ^^

C’est bon install juste le j2re pour faire tourner tes prog, ca marche très bien. COomme editeur j’utilise eclipse qui est gratos, couplé avec le jre 1.4.2 et hop ca roule.

Par contre je profite de ce thread pour lancer un appel au secorus secoure.
Je dosi dois debugger un chat fait en java qui n’est pas encore fini. Donc je me tappe du code a m’en faire tourner la tête pour comprendre d’où viennent les bugs.

Y’a un truc qui m’agace, quand l’utilisateur appuie sur “Entrée” afin ed de poster son message, ca le poste et l’efface bien, mais ca passe a la ligne. Ca se trouve c’est quelque part masi mais je trouve pas où.
Donc si quelqu’un pourais me dire un peu si c’est fait exprès, comment ca a pu être fait, sinon un moyen de faire Backspace une fois que le message a été envoyé. J’ai cherché masi mais j’arrive pas a trouver comment déclencher la touche (ca dois être super simple mais je trouve pas )
Ce message a été édité par Cobra le 17/06/2004

5ug4r 3d1t :
Oui, je sais c’est lourd, et en plus ca n’amuse que moi, et oui je sais, j’en fait des bien pires, mais la je le sentais .
Je suis comme ca moi : Si je le sens bien : je le fais !!!
Ce qui me fait vraiment peur : c’est que le message a ete edite
Ce qui me fait encore plus peur : je peux faire largement pire !
  Amicalement,
 C0unt " c’est pas parce que je suis au canada qu’il faut croire que c’est la faiete"Zero
Ce message a été édité par c0unt0 le 17/06/2004

EDIT :
Non mais c’est pas un peu fini de tripper sur mon post ?
Oui je sais je fais des invertions de lettres en écrivant trop vite, et alors  !
Et puis d’abord on m’a déja dis que c’était mignon !
Non mais je vous jure !

Ce message a été édité par Cobra le 17/06/2004

[quote]Par contre je profite de ce thread pour lancer un appel au secorus secoure.
Je dosi dois debugger un chat fait en java qui n’est pas encore fini. Donc je me tappe du code a m’en faire tourner la tête pour comprendre d’où viennent les bugs.[/quote]Ni secorus ni secoure, mais secours. Si vous voulez jouez au plus con…

[quote]Si vous voulez jouez au plus con…[/quote]Je gagne haut la main a ce jeu la Savez pas a qui vous avez affaire. Ha merde si vous savez… Bon… chut quoi.
Ce message a été édité par GloP le 18/06/2004

[quote]ben ecoute, ca me parait correct comme ca a brule pour point.
juste, au lieu de changer la valeur 1200 dans le final et dans la variable du run, pourquoi ne pas utiliser le final pour initialiser la variable du run ? tu as
private static final int CLIENT_TIMEOUT = 1200; et
timeoutCount = 1200;
autant faire
timeoutCount = CLIENT_TIMEOUT;[/quote]A mon avis, c’est le compilateur qui a remplacé le final par sa valeur. Et forcément,  le décompilateur il peut pas le deviner non plus, ce qui explique cette non-optimisation apparente.

Sinon, heuuu, est-ce « légal » ce genre de manipulation ?
Et pis, faudra pas oublier, le jour de l’upgrade du programme en question, de refaire la modif :wink:

hum tu pourrais preciser ? J’ai pas tout compris

legal, c’est freeware et open source. Et la personne avait dit qu’il l’avait foutu à 2 minutes le time out.

poum poum, on va faire le point la dessus …
java est un langage a la fois compilé et interpreté. les fichier .java sont compiler en bcode (les .class), un genre de binaire, independant de la platforme sur laquel il est cencé tourné. Ce bcode est ensuite interpreté (parfois compiler a la volée) par les JVM (java virtual machine) qui tourne sur les differentes machineb.
pour utiliser un programme developpé en java, il faut qu’une JVM soit installée sur ta machine. Windows en livre une en standard. on l’appelle aussi parfois JRE (pour Java Runtime Environnement). Si tu peux lancer des applets ou des programmes java sur ton pc, tu en as deja une, pas la peine d’en reinstaller une autre …
par contre, si tu veux developper, ben il te faut un compilateur (qui generera ce bcode)… comme pour n’importe qu’elle langage d’ailleurs … en l’occurence, tu peux le telecharger completement gratuitement sur le site java.sun.com. Cet environnement de developpement s’appele le SDK (software developpement kit) et pese a peu pres 30Mo
il contient le fameux binaire javac (pour java compilateur) dont je te parlais plus haut …
maintenant, si tu t’en sort pas, je te le compile ton programme, j’en ai pour 30secondes …

Ce message a été édité par cben76 le 18/06/2004