Javaالكلاس InetAddress
في جافا
- مقدمة
- دوال الكلاس
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 في حال كان البرنامج ممنوع من الإتصال بالشبكة.
الدالة مع تعريفها | |
---|---|
1 | public static InetAddress getByName(String host)
نعطيها نص عبارة عن Host Name, مثل www.harmash.com فترجعه ككائن نوعه InetAddress . |
2 | public static InetAddress getByAddress(byte[] addr)
نعطيها مصفوفة نوعها byte تمثل IP Address فترجعه ككائن نوعه InetAddress . |
3 | public static InetAddress getByAddress(String host, byte[] addr)
نعطيها مصفوفة نوعها byte تمثل IP Address و Host Name فترجعه ككائن نوعه InetAddress . |
4 | public static InetAddress[] getAllByName(String host)
ترجع مصفوفة نوعها InetAddress تحتوي على جميع العناوين التي يملكها الموقع الذي نمررها له كـ Argument.ملاحظة: المواقع الضخمة مثل google و facebook, يملكون أكثر من عنوان. |
5 | public static InetAddress getLocalHost()
ترجع كائن نوعه InetAddress عبارة عن إسم و عنوان الجهاز الذي قام باستدعاءها على الشبكة المحلية. |
6 | public static InetAddress getLoopbackAddress()
ترجع كائن نوعه InetAddress عبارة عن العنوان الذي يستخدمه الجهاز لفحص كرت الشبكة. |
7 | public String getHostAddress()
ترجع الـ Host Name الذي يشير له كائن الـ InetAddress كنص. |
8 | public byte[] getAddress()
ترجع عنوان الموقع الذي يشير له كائن الـ InetAddress الذي قام باستدعائها كمصفوفة نوعها byte . |
9 | public String getHostName()
ترجع الـ IP Address الذي يشير له كائن الـ InetAddress كنص. |
10 | public boolean isAnyLocalAddress()
ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Local Address. |
11 | public boolean isLoopbackAddress()
ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Loopback Address. |
12 | public boolean isMulticastAddress()
ترجع true في حال كان كائن الـ InetAddress الذي قام باستدعائها عبارة عن Multicast Address. |
13 | public String toString()
ترجع الـ Host Name الذي يشير له كائن الـ InetAddress . |
14 | public boolean equals(Object obj)
تقارن كائن الـ InetAddress الذي قام باستدعائها مع الكائن الذي نمرره لها كـ Argument.ترجع true في حال كانا متطابقين. |
15 | public int hashCode()
ترجع الـ Hash Code لكائن الـ InetAddress الذي قام باستدعائها. |
مثال شامل
في المثال التالي قمنا بإنشاء كائن نوعه InetAddress
إسمه IP
يشير إلى موقع harmash.com
.
بعدها قمنا بتحليل إسم هذا الموقع لمعرفة كافة المعلومات المتعلقة بعنوانه.
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