France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 749 membres enregistrés - 1 888 014 posts - 96 578 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [JAVA] se connecter sur un port IP distant [new question 07/03/06]
24 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
Precedent | 1,2,3,4,5,6,7,8,9 | Suivant
[JAVA] se connecter sur un port IP distant [new question 07/03/06]

Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 16 septembre 2005 - 20 h 26 m 01 s
Reprise du message précédent :

si si si j utilise bien le manifest du projet !!!!

il n a pas change depuis le debut et il defini les lib


et ds mon arborescence finale j ai:
fichier jar
mon dossier lib



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 16 septembre 2005 - 21 h 55 m 37 s
et t as verifier que dans le META-INF il y a bien la reference a tous els jars ? meme beanutils (celui qui n est pas trouve) ?

EDIT : et aussi en ouvrant le jar verifie que le META-INF soti bien la et aux bonnes valeurs


Message édité 1 fois, la dernière par kha le 16 septembre 2005 - 21 h 56.


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 16 septembre 2005 - 22 h 26 m 09 s
effectivement:
a lorigine:
Class-Path: lib/commons-beanutils.jar lib/commons-lang-2.0.jar lib/commons-logging-api.jar lib/mysql-connector-java-3.1.10-bin.jar



après creation du jar cette ligne n y est plus!




- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 16 septembre 2005 - 22 h 36 m 30 s
dc j ai mis à jour le jar en ajoutant de force cette ligne dans le manifest et ca se lance sans aucun pb maintenant :)

ca y est maintenant j ai l annee qui apparait dans la base de donnees!!!!!!!



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 16 septembre 2005 - 22 h 38 m 04 s
merci bien!!!



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 16 septembre 2005 - 23 h 09 m 10 s
Ca me l a fait la premiere fois qd j ai cree le jar via l exportation dans eclipse. Apres, ca me l a plus fait apres avoir coche une case.

check la video que j avais fait :

http://khapp.free.fr/pub/tmp/video.exe




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 21 septembre 2005 - 09 h 51 m 04 s
y a moyen de detecter un problème au cas ou par exemple le central téléphonique fait un reset?
genre qu il se relance tout seul quand il perd la connexion avec le central téléphonique?



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 22 septembre 2005 - 02 h 56 m 52 s
oui : tu ton appli est installees en tant que service windows, tu peux le redemarrer automatiquement.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 17 octobre 2005 - 17 h 35 m 49 s
il y a moyen de verrouiller le fichier ticket.properties?

car j ai pas envie qu on change l'adresse IP comme ca...voire meme la masquer par des petites etoiles? tout comme le port?...

enfin en gros qu on ne puisse pas ouvrir le fichier ticket.propertie

merci d'avance



- je cherche un emploi
ICI


gege38
Modérateur
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 097
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 17 octobre 2005 - 17 h 51 m 21 s
Il existe plein de méthodes, allant de la simple sérialisation objet de ton fichier de proprietés à un encryptage via une API appropriée...

Concrètement, tu veux juste que le péquin moyen ne modifie pas ton IP ?



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 17 octobre 2005 - 19 h 33 m 48 s
ben le programme de kha limite tout ce qui infos utilisateur dans un fichier
en gros l ideal serait qu on ne puisse pas ouvrir ce fichier ainsi pas de pb, on ne voit pas l ip donc on ne pas la modifier etc etc



- je cherche un emploi
ICI


gege38
Modérateur
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 097
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 17 octobre 2005 - 20 h 01 m 53 s
Oui, ça, j'avais bien compris :D
Moi je te demande le niveau de sécurité que tu veux :)



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 17 octobre 2005 - 23 h 27 m 06 s
Pour proteger ce fichier, il vaut mieux utiliser un programme externe.

S il tourne sous windows, peut-etre executer le programme java dans un compte utilisateur specifique a ca et juste autoriser ce user a lire le properties, ainsi que l utilisateur d administration. Ca prend des autorisation et le systeme de fichier NTFS.

De cette facon, tu pourra facilement modifier les proprietes sans que d autres personnes puissent lire ce fichier.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 18 octobre 2005 - 12 h 09 m 00 s
interessant je vais regarder ca de plus près merci bien kha :)



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 09 décembre 2005 - 19 h 20 m 53 s
je remonte ce topic pour une autre question.

Es ce qu il est possible d intégrer un petit module qui permet de "copier" ce qui le programme recoit et de l'envoiyer sur un autre port de la machine ou il est installe?

Je m explique:
le script se connecte sur le port distant pas de pb. le soucis c est si un autre prg utilise deja le port en question les 2 ne pourront pas se connecter en meme temps.
La question est : si le programme principal recupère les données les met ds la base mysql rien ne change...par contre il faudrait que ce meme programme puisse "copier" tout ce qu il recoit du distant sur un autre port de la machine pour que l'autre programme puisse également recuprer des infos.

Es ce possible?

merci d'avance



- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 29 décembre 2005 - 11 h 29 m 01 s
personne?



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 29 décembre 2005 - 17 h 49 m 59 s
oui c est possible tu peux le faire en java meme. utilise les socket et un stream de lecture et deux autres de sorties dans lequels tu va dupliquer ton stream d entree




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 30 décembre 2005 - 01 h 15 m 10 s
comme ca:
[code]
this.address = InetAddress.getByName('192.168.0.3); //IP du serveur distant
this.port = Short.parseShort('2154');

this.address2 = InetAddress.getByName('127.0.0.1); //IP du serveur local
this.port2 = Short.parseShort('2155');
this.port3 = Short.parseShort('2156');

socket = new Socket(this.address, this.port); // connexion sur le serveur distant
donnee = new BufferedReader(new InputStreamReader(socket.getInputStream())); //recuperation des flux
socket2 = new Socket(this.address2, this.port2); //connexion sur un port du pc localhost
new BufferedReader(new OutputStreamWriter(socket2.getInputStream(donnee)));//envoi des flux sur le port choisi et adresse choisie
socket3 = new Socket(this.address2, this.port3);//connexion sur un port du localhost
new BufferedReader(new OutputStreamWriter(socket3.getInputStream(donnee)));//envoi des flux sur le port choisi et adresse choisie
[code]


Message édité 2 fois, la dernière par Florent42 le 30 décembre 2005 - 01 h 18.

- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 02 janvier 2006 - 20 h 32 m 56 s
je suis a ce point la a cote de la plaque?



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 02 janvier 2006 - 23 h 29 m 51 s
C'est mieux d utiliser un seul port.

En gros, tu fait un programme qui va ouvrir un port sur ton pc en ecoute et se connetcer au port distant. Ensuite tu connecte tes clients sur ton pc a toi sur le MEME port.

En plus simple, il s agit de faire un serveur paralelle car celui sur lequel tu te connecte est de type iteratif puisque tu ne peux pas y connecter deux clients en meme temps.

Pour faire un serveur paralelle, il faut utiliser un thread par client





kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 03 janvier 2006 - 00 h 51 m 24 s
    Code     
  1. // prout
  2. import java.io.IOException;
  3. import java.net.ServerSocket;
  4. import java.net.Socket;
  5. import java.text.DateFormat;
  6. import java.text.SimpleDateFormat;
  7. import java.util.ArrayList;
  8. import java.util.Collections;
  9. import java.util.Date;
 10. import java.util.Iterator;
 11. import java.util.List;
 12. 
 13. public final class Forwarder implements Runnable
 14. {
 15.     private final List clients;
 16.     private final ServerSocket server;
 17.     private final Socket remote;
 18.     private Thread runner;
 19.     
 20.     public Forwarder(String remoteHost, int remotePort, int localPort) throws IOException
 21.     {
 22.         clients = Collections.synchronizedList(new ArrayList());
 23.         System.out.println("[Forwarder] Creating forwarding server...");
 24.         server = new ServerSocket(localPort);
 25.         System.out.println("[Forwarder] Connecting to remote host...");
 26.         remote = new Socket(remoteHost, remotePort);
 27.     }
 28.     
 29.     public void start()
 30.     {
 31.         if (runner == null)
 32.         {
 33.             System.out.println("[Forwarder] Starting forwarding process...");
 34.             runner = new Thread(this, "ForwarderThread");
 35.             runner.start();
 36.             
 37.             System.out.println("[Forwarder] Forwarding data from remote host to clients...");
 38.             try
 39.             {
 40.                 byte b[] = new byte[4096];
 41.                 int c;
 42.                 while ((c = remote.getInputStream().read(b)) != -1)
 43.                 {
 44.                     for (Iterator i = clients.iterator(); i.hasNext();)
 45.                     {
 46.                         ForwarderClient client = (ForwarderClient) i.next();
 47.                         client.getClient().getOutputStream().write(b, 0, c);
 48.                     }
 49.                 }
 50.                 server.close();
 51.                 remote.close();
 52.             }
 53.             catch (IOException e)
 54.             {
 55.                 e.printStackTrace();
 56.             }
 57.         }
 58.     }
 59.     
 60.     public void run()
 61.     {
 62.         while(runner != null && server.isBound() && !server.isClosed())
 63.         {
 64.             try
 65.             {
 66.                 System.out.println("[ForwarderThread] Forwarder is listening for clients to connect...");
 67.                 clients.add(new ForwarderClient(server.accept()));
 68.             }
 69.             catch (IOException e)
 70.             {
 71.                 e.printStackTrace();
 72.             }
 73.         }
 74.     }
 75.     
 76.     private final class ForwarderClient implements Runnable
 77.     {
 78.         private final Socket client;
 79.         
 80.         private ForwarderClient(Socket client)
 81.         {
 82.             this.client = client;
 83.             String name = "ForwarderClientThread (" + client.getInetAddress().getHostName() + ":" + client.getPort() + ")";
 84.             System.out.println("[ForwarderClient] New " + name);
 85.             new Thread(this, name).start();
 86.         }
 87. 
 88.         public void run()
 89.         {
 90.             try
 91.             {
 92.                 byte b[] = new byte[4096];
 93.                 int c;
 94.                 System.out.println("[" + Thread.currentThread().getName() + "] Receiving data from client...");
 95.                 while ((c = client.getInputStream().read(b)) != -1)
 96.                 {
 97.                     remote.getOutputStream().write(b, 0, c);
 98.                 }
 99.             }
100.             catch (IOException e)
101.             {
102.                 System.out.println("[" + Thread.currentThread().getName() + "] Disconnected...");
103.             }
104.             try
105.             {
106.                 client.close();
107.             }
108.             catch (IOException e)
109.             {
110.                 e.printStackTrace();
111.             }
112.             clients.remove(this);
113.         }
114. 
115.         public final Socket getClient()
116.         {
117.             return client;
118.         }
119.     }
120. 
121.     // EXAMPLE OF USE
122.     // 1. Start this program
123.     // 2. Start several Telnet to localhost
124.     public static void main(String[] args) throws IOException
125.     {
126.         // Start a fake a remote iterative server on port 1111. You can connect with telnet localhost 1111 to test what it does
127.         
128.         new Thread(new Runnable() 
129.         {
130.             public void run()
131.             {
132.                 boolean active = true;
133.                 try
134.                 {
135.                     final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss \r\n");
136.                     final ServerSocket ss = new ServerSocket(1111);
137.                     System.out.println("[FakeServerThread] FAKE SERVER STARTED !");
138.                     final Socket s = ss.accept();
139.                     byte b[]  = new byte[4096];
140.                     while (active)
141.                     {
142.                         int i = s.getInputStream().read(b);
143.                         System.out.println("[FakeServerThread] Received from the forwarder: " + new String(b, 0, i - 1));
144.                         s.getOutputStream().write(df.format(new Date()).getBytes());
145.                         Thread.sleep(1000);
146.                     }
147.                     s.close();
148.                     ss.close();
149.                 }
150.                 catch (IOException e)
151.                 {
152.                     active = false;
153.                 }
154.                 catch (InterruptedException e)
155.                 {
156.                     e.printStackTrace();
157.                 }
158.             }
159.         }, "FakeServerThread").start();
160.         
161.         // Connect to the fake remote server
162.         
163.         new Forwarder("localhost", 1111, 23).start();
164.     }
165. }
166. 




Precedent | 1,2,3,4,5,6,7,8,9 | Suivant
Page genérée en 1.7245 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory