Objectius del Tema
En aquest tema, aprendràs els conceptes bàsics de les xarxes en Java, incloent-hi:
- Què són les xarxes i per què són importants.
- Els conceptes fonamentals de les xarxes.
- Com utilitzar les classes de Java per treballar amb xarxes.
Què són les Xarxes?
Les xarxes permeten la comunicació entre diferents dispositius, com ordinadors, servidors i altres dispositius connectats. En el context de la programació, les xarxes permeten que les aplicacions intercanviïn dades i serveis a través d'una xarxa.
Conceptes Fonamentals de les Xarxes
Abans de començar a programar amb xarxes en Java, és important entendre alguns conceptes fonamentals:
- IP (Internet Protocol): És l'adreça única que identifica un dispositiu en una xarxa.
- Port: És un número que identifica un procés o servei específic en un dispositiu.
- Socket: És un punt final per a la comunicació entre dos dispositius en una xarxa.
- Protocol: És un conjunt de regles que defineixen com es comuniquen els dispositius en una xarxa. Els protocols comuns inclouen TCP (Transmission Control Protocol) i UDP (User Datagram Protocol).
Classes de Java per a Xarxes
Java proporciona diverses classes per treballar amb xarxes. Les més importants són:
- InetAddress: Representa una adreça IP.
- Socket: Permet la comunicació entre dos dispositius utilitzant TCP.
- ServerSocket: Permet que un dispositiu accepti connexions entrants.
- DatagramSocket: Permet la comunicació utilitzant UDP.
- URL: Representa una adreça URL i permet la comunicació amb recursos web.
Exemple Pràctic: Utilitzant InetAddress
Descripció
L'exemple següent mostra com utilitzar la classe InetAddress
per obtenir informació sobre una adreça IP.
Codi
import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressExample { public static void main(String[] args) { try { // Obtenir l'adreça IP de localhost InetAddress localHost = InetAddress.getLocalHost(); System.out.println("Local Host: " + localHost); // Obtenir l'adreça IP d'un domini InetAddress google = InetAddress.getByName("www.google.com"); System.out.println("Google: " + google); // Obtenir totes les adreces IP d'un domini InetAddress[] googleAddresses = InetAddress.getAllByName("www.google.com"); for (InetAddress address : googleAddresses) { System.out.println("Google Address: " + address); } } catch (UnknownHostException e) { e.printStackTrace(); } } }
Explicació
-
Obtenir l'adreça IP de localhost:
InetAddress localHost = InetAddress.getLocalHost(); System.out.println("Local Host: " + localHost);
Aquest codi obté l'adreça IP del dispositiu local.
-
Obtenir l'adreça IP d'un domini:
InetAddress google = InetAddress.getByName("www.google.com"); System.out.println("Google: " + google);
Aquest codi obté l'adreça IP associada al domini "www.google.com".
-
Obtenir totes les adreces IP d'un domini:
InetAddress[] googleAddresses = InetAddress.getAllByName("www.google.com"); for (InetAddress address : googleAddresses) { System.out.println("Google Address: " + address); }
Aquest codi obté totes les adreces IP associades al domini "www.google.com".
Exercici Pràctic
Descripció
Crea un programa que obtingui i mostri l'adreça IP del teu dispositiu local i d'un domini de la teva elecció.
Instruccions
- Utilitza la classe
InetAddress
per obtenir l'adreça IP del teu dispositiu local. - Utilitza la classe
InetAddress
per obtenir l'adreça IP d'un domini de la teva elecció. - Mostra les adreces IP obtingudes a la consola.
Solució
import java.net.InetAddress; import java.net.UnknownHostException; public class NetworkExercise { public static void main(String[] args) { try { // Obtenir l'adreça IP de localhost InetAddress localHost = InetAddress.getLocalHost(); System.out.println("Local Host: " + localHost); // Obtenir l'adreça IP d'un domini de la teva elecció InetAddress customDomain = InetAddress.getByName("www.example.com"); System.out.println("Example.com: " + customDomain); } catch (UnknownHostException e) { e.printStackTrace(); } } }
Resum
En aquest tema, hem introduït els conceptes bàsics de les xarxes i hem vist com utilitzar la classe InetAddress
de Java per treballar amb adreces IP. Hem après a obtenir l'adreça IP del dispositiu local i d'un domini específic. En els següents temes, explorarem més classes i funcionalitats per treballar amb xarxes en Java.
Curs de Programació en Java
Mòdul 1: Introducció a Java
- Introducció a Java
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Operadors
Mòdul 2: Flux de Control
Mòdul 3: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Mètodes
- Constructors
- Herència
- Polimorfisme
- Encapsulació
- Abstracció
Mòdul 4: Programació Orientada a Objectes Avançada
Mòdul 5: Estructures de Dades i Col·leccions
Mòdul 6: Gestió d'Excepcions
Mòdul 7: Entrada/Sortida de Fitxers
- Lectura de Fitxers
- Escriptura de Fitxers
- Fluxos de Fitxers
- BufferedReader i BufferedWriter
- Serialització
Mòdul 8: Multithreading i Concurrència
- Introducció al Multithreading
- Creació de Fils
- Cicle de Vida dels Fils
- Sincronització
- Utilitats de Concurrència
Mòdul 9: Xarxes
- Introducció a les Xarxes
- Sockets
- ServerSocket
- DatagramSocket i DatagramPacket
- URL i HttpURLConnection