ciao a tutti. ricordate il famoso programma per capire quali pc erno connessi alla rete e quali rispondevano al ping? bene quella parte sono riuscito a farla. ora però ho un problema sulla parte successiva cioè testare la porta 8000 del pc che risponde al ping. stranamente va in eccezzione e non riesco a capire perchè.

codice:
package javaapplication1;

import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.*;
import java.net.SocketException;
import java.net.Socket;
import java.net.SocketAddress;


public class connessione {

    public static void main(String[] args)throws Exception {

       
       InetAddress indirizzo=null;
       NetworkInterface rete=null;
       byte []mioip=new byte[4];
       int[] altroip=new int[4];
       short s;
       int i;
       int j;
       int k;
       boolean x;
       boolean y;
       String nome;
       Vector ipcherispondono= new Vector();
       Vector stampanti=new Vector();
       Socket connesso;

       mioip=indirizzo.getLocalHost().getAddress();
       rete=NetworkInterface.getByInetAddress(indirizzo.getLocalHost());
       System.out.println(rete);
       List<InterfaceAddress> indirizzi = rete.getInterfaceAddresses();
       for (InterfaceAddress elem : indirizzi) {
           System.out.println(elem.toString());
           System.out.println(elem.getNetworkPrefixLength());
           s=elem.getNetworkPrefixLength();
           if(s==16){
               altroip[0]=(int)mioip[0];
               altroip[1]=(int)mioip[1];
               for(i=30;i<256;i++){
                  for(j=229;j<256;j++){
                      altroip[2]=i;
                      altroip[3]=j;
                      mioip[0]=(byte)altroip[0];
                      mioip[1]=(byte)altroip[1];
                      mioip[2]=(byte)altroip[2];
                      mioip[3]=(byte)altroip[3];
                      indirizzo.getByAddress(mioip);
                      x=indirizzo.getByAddress(mioip).isReachable(5000);
                      if(x){
                          ipcherispondono.addElement(indirizzo);
                          System.out.print("\n"+altroip[0]+"."+altroip[1]+"."+altroip[2]+"."+altroip[3]+"pinga");
                          connesso=new Socket(indirizzo,8000);
  //                       y=connesso.isConnected();
    //                     connesso.close();
      //                    if(y){
        //                      System.out.println("è una stampante");
          //                }
                      
                     /*
                     else{
                          System.out.print("\n"+altroip[0]+"."+altroip[1]+"."+altroip[2]+"."+altroip[3]+"non pinga");
                      }*/
                      //System.out.println(altroip[1]);
                      //System.out.println(altroip[2]);
                      //System.out.println(altroip[2]);
                  }
               }
           }


}
secondo voi a cosa è dovuta l'eccezzione?(nullpointer)