Опитвам се да се свържа със SSH Unix сървър при натискане на бутон (код, написан в метода actionPerformed()). Използвам JSch за свързване към SSH сървър. Кодът е написан в клас SwingWorker, тъй като е мрежова операция.
private void testConnectionButtonActionPerformed(java.awt.event.ActionEvent evt) {
SwingWorker<Boolean, Void> sw = new SwingWorker<Boolean, Void>(){
@Override
protected Boolean doInBackground() throws Exception {
JSch jsch = new JSch();
String host = "ServerHost";
String username = "username";
String password = "password";
Session session = jsch.getSession(username, host);
session.setPassword(password);
session.setTimeout(20000);
System.out.println("Connecting to server...");
session.connect();
return true;
}
@Override
public void done(){
try {
System.out.println(get().toString());
} catch (Exception ex) {
System.out.err(ex);
}
}
};
sw.execute();
}
Но след като стартирам с правилни данни за хост, потребителско име и парола, получавам грешката по-долу през цялото време:
com.jcraft.jsch.JSchException: timeout: socket is not established
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at javax.swing.SwingWorker.get(SwingWorker.java:583)
Но всеки път, когато стартирам същия код в самостоятелна програма, имам предвид вместо това за писане на метод actionPerformed(), ако го напиша в нормален метод и извикване от main() метод. Ще работи. когато интегрирам същия код с метода actionPerformed() на Button Click, той ще ми даде горното изключение.
Може ли някой да предложи какво правя погрешно тук или трябва да се направи някаква промяна в кода.
Опитах се да се свържа със SSH сървър, използвайки реализация на "SSHJ", но получавам следната грешка:
java.net.SocketException: Connection reset
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at javax.swing.SwingWorker.get(SwingWorker.java:583)
Може ли някой да ми помогне - как да продължа напред?
system.out.err
). - person Paŭlo Ebermann   schedule 25.07.2011JSch.setConfig("StrictHostKeyChecking", "no")
. Но това не е ваш проблем, вашата програма дори не стига до тази точка (връзката е отказана или не е разрешена). Проверете настройките на защитната стена. - person Paŭlo Ebermann   schedule 26.07.2011Опитвам се да отворя java връзка, която съм запазил в моята папка на работния плот. Не мога да го накарам да намери файла. Java адресът е x:\green\Adam\FILEJAR.jar. Това е изпълним JAR файл. Искам да го отворя и да го имам на работния плот, просто го отворете и го накарайте да работи както обикновено за връзката Java. Искате Python просто да го отворите.
разбирам това....
Какво правя грешно, защо не може да намери файла?
- person Sai   schedule 26.07.2011