Java الكلاس InetAddress في جافا

مقدمة

الكلاس InetAddress مصمم لتحليل عنوان الجهاز أو الموقع الذي نحاول الإتصال به عن بعد عبر شبكة النت.


بناؤه

public class InetAddress
extends Object
implements Serializable
	

مصطلحات تقنية

  • :IP Address تعني عنوان الجهاز أو الموقع على الشبكة. فمثلاً عنوان harmash.com هو 108.179.232.152.
  • :Host Name تعني أي إسم الجهاز أو الموقع على الشبكة. فمثلاً العنوان 108.179.232.152 يشير إلى الموقع harmash.com.
  • :Local Host تعني عنوان الجهاز على الشبكة المحلية. في العادة يكون يشبه هذا العنوان 192.168.1.105.
  • :Loopback Address تعني العنوان الذس يستخدمه الجهاز لفحص كرت الشبكة. و هو 127.0.0.1.
  • :Multicast Address تعني العنوان الذس يستخدمه الجهاز لإرسال البيانات إلى عدة أجهزة موجودة معه على الشبكة المحلية. مثل العنوان 224.0.0.1.

دوال الكلاس InetAddress

الجدول التالي يحتوي على دوال الكلاس InetAddress.


أخطاء محتملة

بعض الأخطاء التي قد تظهر لك عند استخدام دوال الكلاس InetAddress.

  • ترمي الإستثناء UnknownHostException في حال لم يتم معرفة الـ IP Address للـ Host Name الذي قمنا بتمريره.
  • ترمي الإستثناء SecurityException في حال كان البرنامج ممنوع من الإتصال بالشبكة.

الدالة مع تعريفها
public static InetAddress getByName(String host) نعطيها نص عبارة عن Host Name, مثل www.harmash.com فترجعه ككائن نوعه InetAddress.
public static InetAddress getByAddress(byte[] addr) نعطيها مصفوفة نوعها byte تمثل IP Address فترجعه ككائن نوعه InetAddress.
public static InetAddress getByAddress(String host, byte[] addr) نعطيها مصفوفة نوعها byte تمثل IP Address و Host Name فترجعه ككائن نوعه InetAddress.
public static InetAddress[] getAllByName(String host) ترجع مصفوفة نوعها InetAddress تحتوي على جميع العناوين التي يملكها الموقع الذي نمررها له كـ Argument.
ملاحظة: المواقع الضخمة مثل google و facebook, يملكون أكثر من عنوان.
public static InetAddress getLocalHost() ترجع كائن نوعه InetAddress عبارة عن إسم و عنوان الجهاز الذي قام باستدعاءها على الشبكة المحلية.
public static InetAddress getLoopbackAddress() ترجع كائن نوعه InetAddress عبارة عن العنوان الذي يستخدمه الجهاز لفحص كرت الشبكة.
public String getHostAddress() ترجع الـ Host Name الذي يشير له كائن الـ InetAddress كنص.
public byte[] getAddress() ترجع عنوان الموقع الذي يشير له كائن الـ InetAddress الذي قام باستدعائها كمصفوفة نوعها byte.
public String getHostName() ترجع الـ IP Address الذي يشير له كائن الـ InetAddress كنص.
public boolean isAnyLocalAddress() ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Local Address.
public boolean isLoopbackAddress() ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Loopback Address.
public boolean isMulticastAddress() ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Multicast Address.
public String toString() ترجع الـ Host Name الذي يشير له كائن الـ InetAddress.
public boolean equals(Object obj) تقارن كائن الـ InetAddress الذي قام باستدعائها مع الكائن الذي نمرره لها كـ Argument.
ترجع true في حال كانا متطابقين.
public int hashCode() ترجع الـ Hash Code لكائن الـ InetAddress الذي قام باستدعائها.

مثال شامل

في المثال التالي قمنا بإنشاء كائن نوعه InetAddress إسمه IP يشير إلى موقع harmash.com.
بعدها قمنا بتحليل إسم هذا الموقع لمعرفة كافة المعلومات المتعلقة بعنوانه.


Main.java
import java.net.InetAddress;		// InetAddress هنا قمنا باستدعاء الكلاس
 
public class Main {
 
    public static void main(String[] args) {
 
        // الآن سنحاول إجراء إتصال عبر الشبكة للوصول إلى موقع محدد
        try
        {
            // harmash.com يشير إلى موقع ip إسمه InetAddress لتعريف كائن نوعه getByName() هنا قمنا باستدعاء الدالة
            InetAddress ip = InetAddress.getByName("www.harmash.com");
 
            // harmash.com هنا قمنا بعرض إسم و عنوان موقع
            System.out.println("Host name  : " + ip.getHostName());
            System.out.println("IP address : " + ip.getHostAddress());
 
            // Loopback Address و الـ Local Host هنا قمنا بعرض
            System.out.println("Local Host : " + InetAddress.getLocalHost());
            System.out.println("Loopback   : " + InetAddress.getLoopbackAddress());
        }
        catch( Exception e ) {
            System.out.println(e.getMessage());
        }
 
    }
 
}
		

ستحصل على نتيجة تشبه النتيجة التالية عند التشغيل.

Host name  : www.harmash.com
IP address : 108.179.232.152
Local Host : Mhamad-PC/192.168.88.1
Loopback   : localhost/127.0.0.1
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة