Changeset 27


Ignore:
Timestamp:
Aug 21, 2012 12:26:43 PM (5 years ago)
Author:
psaiteja
Message:

Working VSN client implementation. It can take in UDP and TCP proxy server port numbers, and forwarding server details as command line arguments. It runs a UDP server to listen to hashlist updates from the server.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • VSNClient/appClientModule/ClientProxy.java

    r23 r27  
    4040                int fwdUdpPort = 5601; 
    4141                 
     42                if(args.length >= 1){ 
     43                        port = Integer.parseInt(args[0]); 
     44                } 
     45                if(args.length >= 3){ 
     46                        fwdProxyServer = args[1]; 
     47                        fwdProxyPort = Integer.parseInt(args[2]); 
     48                } 
     49                if(args.length >= 4){ 
     50                        udpport = Integer.parseInt(args[3]); 
     51                } 
     52                if(args.length >= 5){ 
     53                        fwdUdpPort = Integer.parseInt(args[4]); 
     54                } 
     55                 
    4256                // create and start the ClientProxy thread, using a 20 second timeout 
    4357                // value to keep the threads from piling up too much 
    4458                System.err.println("  **  Starting ClientProxy on port " + port + ". Press CTRL-C to end.  **\n"); 
    45                 ClientProxy jp = new ClientProxy(port, fwdProxyServer, fwdProxyPort, 5); 
    46                 jp.setDebug(1, System.out);             // or set the debug level to 2 for tons of output 
    47                 jp.start(); 
     59                ClientProxy cp = new ClientProxy(port, fwdProxyServer, fwdProxyPort, 5); 
     60                cp.setDebug(1, System.out);             // or set the debug level to 2 for tons of output 
     61                cp.start(); 
    4862                 
    49                 jp.udpthread = new UDPClientThread(udpport, fwdUdpPort, fwdProxyServer, jp.conn); 
    50                  
     63                cp.udpthread = new UDPClientThread(udpport, fwdUdpPort, fwdProxyServer, cp.conn); 
     64                cp.udpthread.start(); 
    5165                 
    5266                // run forever; if you were calling this class from another 
     
    6276                // if we ever had a condition that stopped the loop above, 
    6377                // we'd want to do this to kill the running thread 
    64                 //jp.closeSocket(); 
     78                //cp.closeSocket(); 
    6579                //return; 
    6680        } 
     
    176190                                        System.out.println("Table does not exist"); 
    177191                                        Statement stmt = conn.createStatement(); 
    178                                         stmt.executeUpdate("CREATE TABLE ClientHashlist (UrlHash VARCHAR(36) NOT NULL PRIMARY KEY, ObjectHash VARCHAR(36) NOT NULL, hashTime TIMESTAMP NOT NULL)"); 
     192                                        stmt.executeUpdate("CREATE TABLE ClientHashlist (UrlHash VARCHAR(40) NOT NULL PRIMARY KEY, ObjectHash VARCHAR(40) NOT NULL, hashTime TIMESTAMP NOT NULL)"); 
    179193                                        Statement stmt2 = conn.createStatement(); 
    180194                                        stmt2.executeUpdate("CREATE INDEX hashIndex on ClientHashlist(UrlHash ASC)"); 
     
    261275        public void informUDPserver() 
    262276        { 
     277                System.out.println("Sending 'Hello' message to VSN Server"); 
    263278                String msg = "Hello"; 
    264279                try{ 
    265                         DatagramPacket firstpacket  = new DatagramPacket(msg.getBytes(), msg.length(), InetAddress.getByAddress(fwdServer.getBytes()), fwdUdpPort); 
     280                        DatagramPacket firstpacket  = new DatagramPacket(msg.getBytes(), msg.length(), InetAddress.getByName(fwdServer), fwdUdpPort); 
    266281                        UDPClient.send(firstpacket); 
    267282                } 
     
    294309                        try{ 
    295310                                UDPClient.receive(receivePacket); 
    296                                 String IPAddress = new String(receivePacket.getAddress().getAddress());  
     311                                String IPAddress = receivePacket.getAddress().getHostAddress();  
    297312                                int port = receivePacket.getPort();  
    298313                                 
     
    300315                                        String data = new String(receivePacket.getData()); 
    301316                                        String [] data_array = data.split("\n"); 
     317                                         
    302318                                        for(int i=0;i<data_array.length;i++){ 
    303319                                                if(data_array[i].length()>0){ 
     
    336352                                                } 
    337353                                        } 
     354                                        System.out.println("Updated client hashlist by adding/updating "+(data_array.length-1)+" entries"); 
    338355                                } 
    339356                        } 
     
    475492                                        urldigest.append(Integer.toHexString(0xFF & udigest[i])); 
    476493                                } 
    477                                  
     494                                System.out.println(urldigest); 
    478495                                        try {            
    479496                                                Statement stmt2 = conn.createStatement(); 
Note: See TracChangeset for help on using the changeset viewer.