Bonjour,
Je suis sur une application qui va déposer sur un serveur FTP un fichier voilà cela fonctionne très bien. Aujourd'hui j'ai fait un test pour voir comment réagit mon application si le serveur n'est pas accessible pour cela je l'ai deconnecté d'internet et je test mon depot mais là j'ai :
SocketException : connection reset.
Ce message n'apparait que 5 min environ après la validation de l'envoi est-il possible de reduire ce temps en controlant si le serveur est accessible? Peut être en mettant un timeout?
Merci pour votre aide par avance...
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public boolean open(String server, int port, String username, String password, boolean active) { int reply = 0; boolean success = false; _ftp = new FTPClient(); _ftp.setDataTimeout(2000); try { if (port > 0) { _ftp.connect(server, port); } else { _ftp.connect(server); } reply = _ftp.getReplyCode(); if (FTPReply.isPositiveCompletion(reply)) { if (active) { _ftp.enterLocalActiveMode(); } else { _ftp.enterLocalPassiveMode(); } success = _ftp.login(username, password); if (!success) { System.out.print(_ftp.getReplyString()); close(); } else { _ftp.setFileType(FTP.BINARY_FILE_TYPE); _ftp.setFileTransferMode(FTP.BINARY_FILE_TYPE); } } else { _ftp = null; } } catch (java.net.SocketException se) { System.err.println("FTPManager.open SE : " + se); _ftp = null; } catch (java.io.IOException ioe) { System.err.println("FTPManager.open IOE : " + ioe); _ftp = null; } return success; }
Partager