Bonjour a tous !
J'utilise la classe RExecClient du package com.oroinc (com.oroinc.io.SocketInputStreame et com.oroinc.net.bsd.RExecClient) pour me connecter sur une machine cible via mon programme.
Le but du programme et d'executer un script sur des hosts different a partir de la machine cible. Lorsque je me connecte sur cette machine via PuTTy, je lance a la main la commande ls par exemple, cela fonctionne. Via mon prorgramme java j'obtiens :
Mon code Java pour me connecter de la machine cible aux differents hosts est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 java.net.BindException: Cannot assign requested address at gnu.java.net.PlainSocketImpl.bind(libgcj.so.70) at java.net.Socket.bind(libgcj.so.70) at java.net.Socket.<init>(libgcj.so.70) at java.net.Socket.<init>(libgcj.so.70) at com.oroinc.net.DefaultSocketFactory.createSocket(DefaultSocketFactory.java) at RClient.connect(RClient.java:85) at RClient.connect(RClient.java:104) at Main.main(Main.java:82)
Les parametres de la fonction semblent corrects, je ne vois pas ou est le probleme ! (surtout que comme je le disais a la main via rsh ca MARCHE)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public void connect(InetAddress host, int port, InetAddress localAddr) throws SocketException, BindException, IOException { int localPort; localPort = MAX_CLIENT_PORT; for (localPort = MAX_CLIENT_PORT; localPort >= MIN_CLIENT_PORT; --localPort) { System.out.print(" "+localPort); try { _socket_ = _socketFactory_.createSocket(host, port, localAddr, localPort); } catch (SocketException e) { e.printStackTrace(); continue; } break; } _connectAction_(); }
Help please !
Partager