私は一般的にプログラミングに不慣れで、コース用に Java で IP スキャナーを作成する必要があり、現在、レンガの壁にぶつかっています。友人の助けを借りて、jFrame から IP アドレスを取得し、それを IP 番号に変換することができました。そこから、アドレスをスキャンする public String に渡します。現在、問題なくアドレスを循環しますが、IP スキャナーが行うように、try ブロックから結果をテキスト ブロックに表示する方法がわかりません。これが私のコードです:
private void jBtnPSScanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Get text from text boxes
String pingSSIP1 = jTxtPSSIPOne.getText();
String pingSSIP2 = jTxtPSSIPTwo.getText();
String pingSSIP3 = jTxtPSSIPThree.getText();
String pingSSIP4 = jTxtPSSIPFour.getText();
String pingSEIP1 = jTxtPSEIPOne.getText();
String pingSEIP2 = jTxtPSEIPTwo.getText();
String pingSEIP3 = jTxtPSEIPThree.getText();
String pingSEIP4 = jTxtPSEIPFour.getText();
//Convert text into IP Numbers
long ipNumberS = 0;
ipNumberS = ipNumberS + (Long.parseLong(pingSSIP1)*256*256*256) ;
ipNumberS = ipNumberS + (Long.parseLong(pingSSIP2)*256*256) ;
ipNumberS = ipNumberS + (Long.parseLong(pingSSIP3)*256) ;
ipNumberS = ipNumberS + (Long.parseLong(pingSSIP4)) ;
System.out.println (ipNumberS);
long ipNumberE = 0;
ipNumberE = ipNumberE + (Long.parseLong(pingSEIP1)*256*256*256) ;
ipNumberE = ipNumberE + (Long.parseLong(pingSEIP2)*256*256) ;
ipNumberE = ipNumberE + (Long.parseLong(pingSEIP3)*256) ;
ipNumberE = ipNumberE + (Long.parseLong(pingSEIP4)) ;
System.out.println (ipNumberE);
String startAddress = Long.toString(ipNumberS);
String endAddress = Long.toString(ipNumberE);
String returnIP = pingSweep(startAddress, endAddress, ipNumberS, ipNumberE);
System.out.println(returnIP);
//Update jTxtBlock with returnIP and result
}
と:
public String pingSweep (String startAddress, String endAddress, long ipNumberS, long ipNumberE)
{
String ip = "";
for (long currIP = ipNumberS; currIP < ipNumberE; currIP++)
{
try {
ip = Long.toString(currIP) ;
System.out.println(currIP);
InetAddress host = InetAddress.getByName(ip);
System.out.println("Host Reachable? " + host.isReachable(4000));
System.out.println(currIP);
System.out.println(ip);
ip = ip + " " + currIP + " " + host.isReachable(4000);
}
catch (UnknownHostException ex) {
System.err.println(ex);
break;
}
catch (IOException ex) {
System.err.println(ex);
break;
}
}
return ip;
}
前もって感謝します!
マシュー