Java menyediakan API jaringan yang kuat melalui paket java.net
. Dengan memahami dasar Java Network, kamu bisa membuat:
-
Aplikasi client-server
-
Program yang berkomunikasi melalui TCP atau UDP
-
Aplikasi yang mengakses web atau API
Java Network Dasar
1. Paket java.net
Paket ini berisi kelas dan interface untuk komunikasi jaringan:
Kelas / Interface | Fungsi |
---|---|
InetAddress |
Menyimpan alamat IP dan nama host |
Socket |
Membuat koneksi TCP client |
ServerSocket |
Membuat server TCP untuk mendengarkan koneksi |
DatagramSocket |
Socket UDP |
DatagramPacket |
Paket data untuk komunikasi UDP |
URL |
Mengakses resource web |
HttpURLConnection |
Membuat request HTTP/HTTPS |
2. InetAddress
Digunakan untuk mengetahui alamat IP lokal atau remote.
Contoh:
import java.net.InetAddress;
public class InetAddressExample {
public static void main(String[] args) throws Exception {
InetAddress ip = InetAddress.getByName("www.google.com");
System.out.println("Host Name: " + ip.getHostName());
System.out.println("IP Address: " + ip.getHostAddress());
}
}
-
getByName()
→ mendapatkan IP dari hostname -
getHostName()
→ nama host -
getHostAddress()
→ alamat IP
3. Socket TCP (Client)
Client TCP menghubungi server melalui IP dan port.
Contoh:
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 5000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out.writeUTF("Hello Server");
System.out.println("Server says: " + in.readLine());
socket.close();
}
}
-
Socket
→ membuat koneksi ke server -
getOutputStream()
→ mengirim data -
getInputStream()
→ menerima data
4. Server TCP
Server TCP mendengarkan koneksi client pada port tertentu.
Contoh:
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(5000);
System.out.println("Server listening on port 5000");
Socket client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
String message = in.readLine();
System.out.println("Client says: " + message);
out.writeUTF("Hello Client");
client.close();
server.close();
}
}
-
ServerSocket.accept()
→ menunggu client terhubung -
Setelah client terhubung → dapat mengirim dan menerima data
5. UDP Datagram
UDP digunakan untuk komunikasi cepat tanpa koneksi.
Contoh Client UDP:
import java.net.*;
public class UDPClient {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket();
String msg = "Hello UDP Server";
InetAddress address = InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(msg.getBytes(), msg.length(), address, 5000);
socket.send(packet);
socket.close();
}
}
Contoh Server UDP:
import java.net.*;
public class UDPServer {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(5000);
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String received = new String(packet.getData(), 0, packet.getLength());
System.out.println("Client says: " + received);
socket.close();
}
}
6. HTTP Request Sederhana
Java dapat mengakses website atau API menggunakan HttpURLConnection
.
Contoh:
import java.net.*;
import java.io.*;
public class HttpExample {
public static void main(String[] args) throws Exception {
URL url = new URL("https://www.haikalcctvid.org");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
}
-
URL
→ alamat resource -
HttpURLConnection
→ metode request (GET, POST) -
InputStream
→ membaca response dari server
Kesimpulan
Java Network Dasar meliputi:
-
InetAddress → informasi IP/host
-
Socket & ServerSocket → komunikasi TCP
-
DatagramSocket & DatagramPacket → komunikasi UDP
-
URL & HttpURLConnection → akses web dan API
Dengan memahami dasar ini, kamu bisa mulai membuat aplikasi jaringan sederhana, seperti chat client-server, monitoring server, atau akses API.
Untuk tutorial Java Network lanjutan, termasuk multithreaded server dan HTTP/HTTPS client, kunjungi 🌐 www.haikalcctvid.org.
HCID – Home Security Camera One-Stop IT Solution
0 Komentar