ciao a tutti. ho scritto questo programma per avere più flussi di esecuzione, ma a quanto pare sembra che funzioni uno thread alla volta e non riesco a capire il perchè.
non riesco a capire cosa ci sia di sbagliato.codice:package javaapplication1; import java.io.*; import java.net.*; import java.lang.*; import java.util.*; class pingati031 extends connessione implements Runnable{ public void run(){} public Vector ipdapingare031(byte[]mioip,int[]altroip,boolean x,int i,int j,InetAddress indirizzo,Vector ipcherispondono031)throws Exception{ for(i=0;i<10;i++){ for(j=0;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]; x=indirizzo.getByAddress(mioip).isReachable(5000); indirizzo=InetAddress.getByAddress(mioip); if(x){ System.out.print("\n"+altroip[0]+"."+altroip[1]+"."+altroip[2]+"."+altroip[3]+" pinga"); ipcherispondono031.add(indirizzo); } } }return ipcherispondono031;}} class pingati3263 extends connessione implements Runnable{ public void run(){} public Vector ipdapingare3263(byte[]mioip,int[]altroip,boolean x,int i,int j,InetAddress indirizzo,Vector ipcherispondono3263)throws Exception{ for(i=10;i<12;i++){ for(j=0;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]; x=indirizzo.getByAddress(mioip).isReachable(5000); indirizzo=InetAddress.getByAddress(mioip); if(x){ System.out.print("\n"+altroip[0]+"."+altroip[1]+"."+altroip[2]+"."+altroip[3]+" pinga"); ipcherispondono3263.add(indirizzo); } } }return ipcherispondono3263;}} public class connessione extends Thread { 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=0; int j=0; int k; boolean x=false; boolean y; String nome; Vector ipcherispondono031= new Vector(); Vector ipcherispondono3263=new Vector(); Vector stampanti=new Vector(); 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]; pingati031 e=new pingati031(); pingati3263 p=new pingati3263(); e.start(); p.start(); e.ipdapingare031(mioip, altroip, x, i, j, indirizzo, ipcherispondono031); p.ipdapingare3263(mioip, altroip, x, i, j, indirizzo, ipcherispondono3263); } } } }

Rispondi quotando