إحدى مميزات لغة Java هي أن برامج Java يمكنها الوصول إلى موارد الشبكة. توفر Java سلسلة من الفئات لدعم برامج Java في الوصول إلى موارد الشبكة.
بروتوكول TCP/IP وعنوان IP
من أجل التواصل عبر الإنترنت، يجب على كلا الطرفين المتصلين الالتزام ببروتوكول الاتصال. البروتوكول الأكثر استخدامًا في الوقت الحالي هو بروتوكول TCP/IP، وهو بروتوكول عام تتبعه جميع الأطراف في الإنترنت ) هو بروتوكول للتحكم في الإرسال، وIP (بروتوكول الإنترنت) هو بروتوكول إنترنت، ويمثل TCP/IP هذين البروتوكولين.
ينقسم TCP/IP إلى أربعة مستويات:
يتعامل بروتوكول TCP مع أي نقل لمعلومات الشبكة على أنه تدفق للمعلومات. على سبيل المثال، إذا تم إرسال رسالة طويلة من الجهاز أ إلى الجهاز ب، فسيحتاج المرسل أ إلى تجزئة البيانات والحزمة وإرسال كل جزء من البيانات بشكل منفصل. تحتوي حزمة البيانات على رأس يشير إلى مكان إرسال حزمة البيانات وموضع البيانات في تسلسل الاستلام. يتم إرسال كل حزمة من جهاز إلى جهاز آخر أو من عقدة شبكة إلى عقدة شبكة أخرى وفقًا للوجهة التي يوفرها عنوان IP. عند الطرف المتلقي B، يمكن إعادة تجميع حزم البيانات هذه بالترتيب الصحيح.
بروتوكول TCP/IP عبارة عن مجموعة بروتوكولات، تتكون من مجموعة من البروتوكولات، تتضمن بشكل أساسي البروتوكولات الأكثر تحديدًا التالية:
Telnet (تسجيل الدخول عن بعد): يسمح لمستخدم الكمبيوتر بتسجيل الدخول إلى كمبيوتر آخر عن بعد، وإجراء العمليات عن بعد كما لو كانت تعمل على الكمبيوتر المحلي.
FTP (بروتوكول نقل الملفات): يسمح للمستخدمين بنسخ الملفات الموجودة على مضيف بعيد إلى أجهزة الكمبيوتر الخاصة بهم.
SMTP (بروتوكول نقل البريد البسيط): يستخدم لنقل البريد الإلكتروني.
NFS (خادم ملفات الشبكة): يمكّن أجهزة كمبيوتر متعددة من الوصول بشفافية إلى أدلة بعضها البعض.
HTTP: بروتوكول نقل النص التشعبي، الذي يعتمد على بروتوكول TCP/IP وهو بروتوكول اتصال طبقة التطبيق بين متصفح WWW والخادم. HTTP هو بروتوكول للأغراض العامة، عديم الحالة، وموجه للكائنات. تتكون جلسة HTTP (المعاملة) من أربع خطوات: الاتصال والطلب والاستجابة والإغلاق.
يمكن للغة Java كتابة تطبيقات شبكة منخفضة المستوى. على سبيل المثال، نقل الملفات، وإنشاء وحدات تحكم البريد، ومعالجة بيانات الشبكة، وما إلى ذلك. تتضمن بروتوكولات الإنترنت التي تدعمها لغة Java ftp وtelnet وwww وما إلى ذلك. والبرنامج الذي يدعم الاتصال بالشبكة موجود في حزمة java.net، على سبيل المثال، java.net.ftp وjava.net.www وما إلى ذلك.
يتم استخدام عنوان IP للإشارة إلى عنوان جهاز الكمبيوتر الموجود على الإنترنت في الشبكة، وذلك باستخدام رمز ثنائي 32 بت لتمثيل عنوان الشبكة. يتم تقسيم العناوين إلى خمس فئات: A وB وC وD وE. والفئات الأكثر استخدامًا هي A وB وC:
أ (1.0.0.0-126.255.255.255): رقم الشبكة المكون من 0,7 أرقام، آخر 24 رقمًا هي رقم المضيف؛
B (128.0.0.0-191.255.255.255): 10، رقم الشبكة المكون من 14 رقمًا، آخر 16 رقمًا هي رقم المضيف؛
C (192.0.0.0-223.255.255.255): 110، رقم الشبكة المكون من 21 رقمًا، آخر 8 أرقام هي رقم المضيف؛
D (224.0.0.0-239.255.255.255): 1110، رقم مجموعة البث المتعدد 28 بت؛
E (240.0.0.0-254.255.255.255): 1111، محجوز للاستخدام التجريبي.
عادة، يتم تمثيل عنوان IP برقم عشري مكون من أربعة أجزاء (قطعة واحدة مكونة من 8 أرقام). على سبيل المثال:
58.218.204.252
أو يمثلها اسم المجال النصي. على سبيل المثال:
www.VeVB.COM
على الإنترنت، يقوم خادم اسم المجال (DNS) بتعيين الأسماء الحرفية لعناوين الشبكة الثنائية.
فئة InetAddress
يوجد تعريف لفئة InetAddress في حزمة Java.net. يتم استخدام كائنات فئة InetAddress لعناوين IP وأسماء النطاقات.
getByName(String s): احصل على كائن من فئة InetAddress، والذي يحتوي على عنوان IP واسم المجال الخاص بالمضيف. يمثل الكائن المعلومات التي يحتوي عليها بالتنسيق التالي: www.sina.com.cn/202.108.37.40;
String getHostName(): احصل على اسم المجال لكائن InetAddress؛
String getHostAddress(): احصل على عنوان IP الخاص بكائن InetAddress؛
getLocalHost(): احصل على كائن InetAddress، الذي يحتوي على اسم المجال وعنوان IP الخاص بالجهاز المحلي.
[مثال] تطبيق يشرح استخدام فئة Inetaddress. يوضح البرنامج كيفية الحصول على اسم المجال وعنوان IP الخاص بـ www.weixueyuan.net.
Import java.net.*;Class example10_1{ Public static void main(String args[]){ Try{ // تقوم التعليمات البرمجية التالية بإنشاء كائن InetAddress من خلال اسم المجال: InetAddress addr = InetAddress.getByname("www.VeVB.COm" "); String domainName = addr.getHostName();// احصل على اسم المضيف String IPName = addr.getHostAddress();// احصل على عنوان IP System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace() } }};
نتيجة التشغيل هي:
www.VeVB.COm58.218.204.252