Mar 25, 2012

Java da domain name-ə görə İP adresi tapmaq

   Bu yazıda domain ada (computer name) görə istənilən kompyuterin İP adresini tapmağa aid kodlar yazacam.
   Eyni şəkildə bunu C#-la da etmişəm əgər ehtiyac duyulsa həmin kodlarıda yerləşdirəcəm.
Bunu adi Command Line (cmd) ilədə etmək olur əslində amma bunun ondan bir fərqi varki daha dəqiq tapmasıdır.      Şəxsən başıma gəlib belə bir şey ki cmd-də adı yazmışam amma tapılan İP səhv olub və başqa :).
Keçək koda:
Qeyd etdiyim kimi bu kiçik program Java da yazılıb. İlk olaraq kitabxanaları (library) əlavə edək.


import java.net.InetAddress; -- bu şəbəkə kitabxanasıdır
import javax.swing.JOptionPane; -- bu isə swing -dən istifadə üçün lazım olan kitabxanadır.

Sinifimizin (class) adını belə yazdıq:


public class GetClientIP
{
 //----
}

Bu sinifin içində isə bir obyekt (object) yaradırıq:

public class GetClientIP
{

public void init()
    {
       try
       {
           //---
       }
       cath(Exception e)
     {JOptionPane.showMessageDialog(null, e);}
    }

}
Daha sonra isə bir String dəyişkən tanıdaq və İP adresi tapmaq üçün aşağıdakı uyğun kodları yazaq:

public class GetClientIP
{

public void init()
    {
       try
       {
          String strNAME = JOptionPane.showInputDialog("Please enter domain name");
        InetAddress thisIp = 
                    InetAddress.getByName(strNAME); // domain name-ə görə ip tapır
            JOptionPane.showMessageDialog(null, "IP: " + thisIp.getHostAddress());
       }
       cath(Exception e)
     {JOptionPane.showMessageDialog(null, e);}
    }

}

Təbiki bu kiçik kod compile olmuyacaq çünki burada main class yoxdur, onuda aşağıdakı kimi yazaq:


public static void main(String[] args)
    {
        GetClientIP getip = new GetClientIP();
        getip.init();
    }

Program çalışdıqda ilk əvvəl input dialog ekrana çıxır:

Biz buraya istədiyimiz və mövcud olan domain name-i yazsaq və ok düyməsinə bassaq bizə aşağıdakı kimi mesajla İP adresi göstərəcəkdir:

ümid edirəmki faydalı olar :).

No comments:

Post a Comment

Zəhmət olmasa şərhlərinizi yazın