File: SaftVersion.java

package info (click to toggle)
sendfile 2.1b.20080616-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,548 kB
  • ctags: 745
  • sloc: ansic: 13,128; sh: 3,885; perl: 851; makefile: 143; java: 36; csh: 3
file content (56 lines) | stat: -rw-r--r-- 1,387 bytes parent folder | download | duplicates (11)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
 * Diese Klasse testet die verwendete sendfiled-Version eines
 * angegebenen Servers.
 * <p>
 * Sollte man vielleicht nicht zu oft aufrufen. Einige beobachten
 * ihre Logfiles sehr genau.
 * 
 * @author Stefan Scholl <stesch@sks.inka.de>
 * @version $Id$
 */

import java.net.*;
import java.io.*;


public class SaftVersion {
   static final int SAFTPORT = 487;
   
   public static void main( String argv[] ) {
      if( argv.length > 0 ) {
	 
	 try {
	    String line, version = null;
	    Socket sock = new Socket( argv[0], SAFTPORT);
	    DataInputStream sdin = new DataInputStream(sock.getInputStream());
	    PrintStream spout = new PrintStream(sock.getOutputStream());
	    
	    spout.println("version");
	    spout.println("quit");
	    
	    do {
	       line = sdin.readLine();
	       if( line.startsWith("215") )
		 version = line.substring(4);
	    } while ( !line.startsWith("221"));
	    
	    if( version != null ) {
	       System.out.println(argv[0] + "'s SAFT:");
	       System.out.println(version);
	    } else {
	       System.out.println("No Version found!?");
	    }
	    
	 }
	 catch ( UnknownHostException e ) {
	    System.out.println("Can't find " + argv[0]);
	 }
	 catch ( IOException e ) {
	    System.out.println("Error connecting to " + argv[0]);
	 }
	 
      } else {
	 System.out.println("USAGE: java SaftVersion.class <hostname>");
      }
   }
}