pb prog java pour transmettre des variables - Java - Programmation
Marsh Posté le 20-12-2004 à 20:06:02
C'est normal, ta variable port est localle à la méthode main. Une autre méthode ne pourra donc pas la voir, il faut que tu déclare ta variable port en temps que variable private de la classe Sbn. Ensuite tu met tes get/set, et quand t'instancie ta classe Sbn, tu définies le port avec ta méthode set
Marsh Posté le 20-12-2004 à 21:59:22
oui, mais je dois qd mm donner les valeurs de port,.... dans mon main vu que "port" c'est la valeur de mon 1er argument non?
Merci
A+
Marsh Posté le 21-12-2004 à 11:06:35
Reply
Marsh Posté le 20-12-2004 à 19:59:22
Bonjour,
j'ai un pb sur mon prog java.
En fait, ma methode run appelé par la méthode start, ne reconnait pas la vairable port défini par mon main.
Que puis-je faire?
Merci
A+
---------------------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class Sbn extends Thread {
BufferedReader inchan;
DataOutputStream outchan;
Socket socket;
Sbn(Socket s) {
try {
inchan = new BufferedReader(new InputStreamReader(s.getInputStream()));
outchan = new DataOutputStream(s.getOutputStream());
}
catch(IOException e) {e.printStackTrace(System.err); System.exit(1);}
socket = s;
}
public void run()
{
//try{
System.out.println("CONNEXION "+port);
// outchan.writeChars("CONNEXION "+port);
//}
//catch(IOException e) {e.printStackTrace(System.err); System.exit(1);}
}
public static void main(String args[])
{
try {
int port = Integer.parseInt(args[0]);
int nb_lignes = Integer.parseInt(args[1]);
int nb_colonnes = Integer.parseInt(args[2]);
int nb_max_joueurs_par_groupe = Integer.parseInt(args[3]);
int nb_carrees_par_joueurs = Integer.parseInt(args[4]);
ServerSocket serv = new ServerSocket(port);
while (true){
Socket client = serv.accept();
Sbn service = new Sbn(client);
service.start();
}
}
catch (Throwable t) {t.printStackTrace(System.err); }
}
}