APPLICATION CLIENT SERVEUR DE DESSIN EN RÉSEAUX

izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005 - 27 juin 2004 à 12:33
Chesfil Messages postés 10 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 8 octobre 2009 - 8 oct. 2009 à 00:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22673-application-client-serveur-de-dessin-en-reseaux

Chesfil Messages postés 10 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 8 octobre 2009
8 oct. 2009 à 00:00
exécutes une fois "NetDrawServerMain.class" dans ton serveur, et au moins deux fois "NetDrawClientMain.class" pour avoir deux clients qui peuvent communiquer.
Chesfil Messages postés 10 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 8 octobre 2009
8 oct. 2009 à 00:00
exécutes une fois "NetDrawServerMain.class" dans ton serveur, et au moins deux fois "NetDrawClientMain.class" pour avoir deux clients qui peuvent communiquer.
ramroum123 Messages postés 1 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 2 avril 2009
2 avril 2009 à 00:13
par quel programme je doit exécuté ce programme!!!!
ballou129 Messages postés 3 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 4 septembre 2009
16 févr. 2009 à 16:46
import java.sql.*; // Pour la connexion avec Oracle
import java.io.*; // Pour les entrée sorties
import oracle.jdbc.*; // Pour les pilotes Oracle
import oracle.sql.*; // Pour les spécificités SQL d'Oracle
//import java.util.jar.*;
//import java.util.zip.*;
import java.sql.SQLException;
import oracle.jdbc.driver.*;
/*-------------------------------------------------------------------------------------------
* ---> Connexion sur ORACLE avec Singleton <----
*-------------------------------------------------------------------------------------------*/

public class base {
/*----------------------------on creer l'instance a NULL --------------------------------------------------*/
private static base myConnexion=null;

Connection cnx = null ;
Statement stmt = null;
ResultSet rs = null;
ResultSet resultats ;



/*-------------------------------------------------------------------------------------------
* Constructeur Privé de l'instance
*-------------------------------------------------------------------------------------------*/

private base(){
try
{
//chargement de driver
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println ("driver etablie");
//System.out.println("connexion etablie");
}
catch(Exception e)
{
System.out.println ("erreur:Driver int" +
"rouvable");
}

try
{
String URL = "jdbc:oracle:thin:@ùùùùùùùùùùùù:1521:NomBDD";
String USER = '*********";
String PASSWD = "toto";

cnx =DriverManager.getConnection(URL,USER, PASSWD);
System.out.println ("connexion base pfe etablie");
}
catch(Exception e)
{
System.out.println ("erreur: base introuvable");

}
}



/*-------------------------------------------------------------------------------------------
* On recupere L'instance de la connexion
*-------------------------------------------------------------------------------------------*/

public static base getConnection(){
if(myConnexion == null){
return myConnexion=new base();

}
else{
return myConnexion;
}


}

/*-------------------------------------------------------------------------------------------
* Requete de selection de BDD <TODO avec parametre>
*-------------------------------------------------------------------------------------------*/


public void select(){
String requete = "select * from login ";
try {
Statement stmt = cnx.createStatement();
resultats = stmt.executeQuery(requete);
} catch (SQLException e) {
System.out.println("Anomalie lors de l'execution de la requête");
}



try {
// resultats = cnx.executeRequeteAndGetResults(requete);
System.out.println("parcours donné requete");
ResultSetMetaData rsmd = resultats.getMetaData();
String [] nom=new String[(rsmd.getColumnCount())];
for(int i=0;i<nom.length;i++){
System.out.println("colonne name === "+rsmd.getColumnName(i+1));
System.out.println("resu == "+(String)resultats.getString("NOM"));
String mesColonne=resultats.getString(rsmd.getColumnName(i+1));
nom[i]=mesColonne;
}

for(int i=0;i<nom.length;i++)
{ System.out.println("--- "+nom[i]);}

/* int nbCols = rsmd.getColumnCount();
// System.out.println("resultat "+resultats);
boolean encore = true;//resultats.next();
while (encore) {
System.out.println("eee");
for (int i = 0; i <= nbCols; i++){
System.out.println("eee");
System.out.print(rsmd.toString()+ " --- ");
}
System.out.println("eee");
encore = resultats.next();
}
resultats.close();
*/ } catch (SQLException e) {
System.out.println("sa foire o niveau des données");
}

}

/*-------------------------------------------------------------------------------------------
* Verifier Login && Pass quand le client se connecte
*-------------------------------------------------------------------------------------------*/
public String verifierLoginPassword(String login, String password){
String etatDemandeLoggin = "erreur";
int idActeur = 0;
int idDroit = 0;
try{
//etablissement de la connection
cnx = getConnection().cnx;
stmt = cnx.createStatement();
rs = stmt.executeQuery("SELECT * FROM login where (login='"+login+"' and password='"+password+"');");
while(rs.next()){
idActeur = rs.getInt(1);
//profession = rs.getInt(7);
}
if(idActeur != 0){
rs = stmt.executeQuery("SELECT idDroit FROM associer where (idActeur='"+idActeur+"');");
while(rs.next()){
idDroit = rs.getInt(1);
}
if(idDroit == 1){
etatDemandeLoggin = "administrateur";
}
else if(idDroit !=0 && idDroit != 1){
etatDemandeLoggin = "autre";
}
}
else{
etatDemandeLoggin = "erreur";
}
}
catch (SQLException e) {
System.out.println("SQLException: " + e);
}
finally{
try{
stmt.close();
cnx.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
return etatDemandeLoggin;
}

/*-------------------------------------------------------------------------------------------
* Ajouter Client qui termine son Inscription
*-------------------------------------------------------------------------------------------*/
public boolean ajouterActeur(String login, String password, String nom, String prenom, String adresse, int tel, int droit) {
// TODO Auto-generated method stub
boolean estAjoute = false;
int maxIdActeur = 0;
int numActeur = 0;
try{
//etablissement de la connection
cnx = getConnection().cnx;
stmt = cnx.createStatement();
rs = stmt.executeQuery("SELECT max(idActeur) FROM acteur;");
while(rs.next()){
maxIdActeur = rs.getInt(1);
}

numActeur = maxIdActeur + 1;
stmt.executeUpdate("INSERT INTO `acteur` (`idActeur`, `login`, `password`, `nom`, `prenom`, `adresse`, `tel`) VALUES ("+numActeur+", '"+login+"', '"+password+"', '"+nom+"', '"+prenom+"', '"+adresse+"', "+tel+");");
stmt.executeUpdate("INSERT INTO `associer` (`idActeur`, `idDroit`) VALUES ("+numActeur+", "+droit+");");
estAjoute = true;
}
catch (SQLException e) {
System.out.println("SQLException: " + e);
estAjoute = false;
}
finally{
try{
stmt.close();
cnx.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
// TODO Auto-generated method stub
return estAjoute;
}


/*-------------------------------------------------------------------------------------------
*
*-------------------------------------------------------------------------------------------*/

}
sman0 Messages postés 39 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 3 novembre 2005
16 nov. 2007 à 18:41
Intéret ? code source ?
pas de code source = pas d'interet, c'est beau ça marche mais ça n'apporte rien à personne.
plutot bizarre que le contenu soit en anglais d'ailleurs, ça sent le pompé à plein nez.
cs_mzamoun Messages postés 10 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 6 février 2006
16 nov. 2004 à 19:17
De meme, EXELENTE Appli qui donne une image serieuse a java dans ce monde competitif !!

concernant l'arret du serveur, je pense qu'il ya au moins une solution:
solution brutale: si on demarre le serveur a partir d'un console, faire un CTRL+C

pour l'autre, il faut bosser un peu plus !

c'est a nous de le faire ;)
izt00g00d Messages postés 65 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 28 juillet 2005
27 juin 2004 à 12:33
E-X-L-ente ton appli..
sauf que...
comment on arrête le serveur ?
c'est dommage qu'un nouveau client se connectant ne récupère pas le dessin en cours...
Rejoignez-nous