Connexion a distance avec un server

Résolu
aboubakr664 - 25 sept. 2017 à 11:43
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 26 sept. 2017 à 18:50
Bonjour,
j'ai fait un programme client server en java et comme bd sql server.
quand je compile en locale cela marche sans probleme mais quand je teste avec un client distant sa reste sans reponse.
j'utilise le port 1433 et le client et le server sont connecter sur le meme reseau .
votre aide serait la bien venu .

Ma classe db


private void getConnection () throws Exception{ //Pour Etablir la connection
if(cnx==null || cnx.isClosed()){
try{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://10.10.10.140:1433;databaseName=GestionJournaliers;user=ABOUBAKR;password=passer@1";

cnx = DriverManager.getConnection(url);
stmt=cnx.createStatement();
} catch(Exception ex){

throw ex;
}
}
}





public class Utils {
private static My_Interface i;

public static My_Interface getIClass() {
return i;
}
public static void init(){
try {
Registry registry=LocateRegistry.getRegistry("10.10.10.140",1000);
i=(My_Interface)registry.lookup("userRemote");
} catch (Exception ex) {

ex.printStackTrace();
}
}

}

le main de mon server est la :


public static void main(String[] args) {
// TODO code application logic here
System.setSecurityManager(new SecurityManager());

try {

Registry registry= LocateRegistry.createRegistry(1000);
My_Interface i = new Implementation();
registry.bind("userRemote", i);
System.out.println("le server a demmarrer sur le port 1000");


} catch (Exception ex) {
ex.printStackTrace();
}
}

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
25 sept. 2017 à 12:16
Bonjour,

"avec un client distant sa reste sans reponse"
Est-ce que tu as des exceptions côté client et/ou serveur ?
Si ça tourne indéfiniment, à quelle ligne de code est-ce que c'est bloqué ?
Tu peux éventuellement rajouter des logs dans ton programme pour tracer toutes les actions faites et voir celles qui ne sont pas faites.

Exemple :
Logger.getGlobal().info("Class.forName"); // import java.util.logging.Logger
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://10.10.10.140:1433;databaseName=GestionJournaliers;user=ABOUBAKR;password=passer@1";
Logger.getGlobal().info("getConnection: "+url);
cnx = DriverManager.getConnection(url);
Logger.getGlobal().info("Connexion réussie");

NB. Tu dis utiliser le port 1433 mais ça c'est juste pour la base de données, pour le RMI tu utilises le port 1000 et c'est sûrement là le problème de connexion entre ton client et ton serveur.
0
Merci Bien .
ben le port 1433 cest le port par efault pour se connecter a sql server et si jele change rien ne marche et pour le rmi si je met le 1433 il me signal que ce port est deja utilise.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
25 sept. 2017 à 23:08
Je ne dis pas qu'il faut mettre tout à 1433 ou l'enlever cette valeur pour sr connecter à la base de données.
Au contraire, ce que je dis c'est que ton problème de connexion concerne sûrement le RMI sur le port 1000, c'est à dire la détection par le serveur qu'il y a un appel client.
Mais comme tu ne nous as toujours pas dit où était le blocage on ne peut que jouer aux devinettes...
0
Bonjour, effectivement j'ai bien saisi ce que vous avez dit .
vraiment la a mon niveau je vois pas l'erreur pour l'instant c'est la raison pour laquelle je suis venu vers vous pour voir pourquoi sa ne marche pas .
sa ne renvoi aucun message d'erreur ??????
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127 > aboubakr664
26 sept. 2017 à 18:50
Si ça ne renvoie pas de message d'erreur c'est que ça fait des choses... il faudrait savoir quoi, et c'est pour ça que je te demandais de rajouter des logs pour savoir ce que le programme faisait et ce qu'il ne faisait pas...
0
Rejoignez-nous