membuat sistem chatting menggunakan aplikasi UDP, SOCKET langsung ke TKP aja ya gan :)..cekibrooot !
UDP SOCKET PROGRAMMING
Seperti
yang telah disampaikan, TCP menjamin pengiriman packet dan menjaga perintah
pada tujuan. Kadang-kadang Hal ini tidak diperlukan dan sejak service dijamin
oleh UDP Protocol yang menyampaikan datagram packet s.
Datagram packet
digunakan untuk mengimplementasikan service pengiriman paket connectionless
yang dijamin oleh UDP Protocol. Setiap informasi di transfer dari source
machine ke tujuan berdasarkan informasi yang terkandung pada paket. Maka setiap
paket memerlukan alamat tujuan dan mungkin setiap paket bisa di routing berbeda
dan mungkin menerima banyak perintah.
Java mensupport datagram communication dengan class:
-
DatagramPacket
-
DatagramSocket
1.
PERCOBAAN 1
Langkah-langkah percobaan 1:
a.
Buatlah folder UDP1.
b.
Path ke jdk.
c.
Masuklah pada folder UDP1.
d.
Tulislah listing UDPServer.java
import java.net.*;
import java.io.*;
public class UDPServer {
public static void main(String
args[]){
DatagramSocket aSocket
= null;
if (args.length < 1) {
System.out.println("Usage:
java UDPServer <Port Number>");
System.exit(1);
}
try {
int
socket_no = Integer.valueOf(args[0]).intValue();
aSocket = new
DatagramSocket(socket_no);
byte[] buffer = new byte[1000];
while(true) {
DatagramPacket
request = new DatagramPacket(buffer,buffer.length);
aSocket.receive(request);
DatagramPacket
reply = new DatagramPacket(request.getData(),request.getLength(),request.getAddress(),request.getPort());
aSocket.send(reply);
String pesan = new String(request.getData());
System.out.println("Socket:
" + pesan);
}
}
catch (SocketException
e) {
System.out.println("Socket:
" + e.getMessage());
}
catch (IOException
e) {
System.out.println("IO:
" + e.getMessage());
}
finally {
if (aSocket != null)
aSocket.close();
}
}
}
|
e.
Tulislah listing UDPClient.java
import java.net.*;
import java.io.*;
public class UDPClient {
public static void main(String
args[]){
// args
give message contents and server hostname
DatagramSocket
aSocket = null;
if (args.length < 3) {
System.out.println("Usage:
java UDPClient <message> <Host name> <Port number>");
System.exit(1);
}
try {
aSocket = new
DatagramSocket();
byte [] m = args[0].getBytes();
InetAddress
aHost = InetAddress.getByName(args[1]);
int
serverPort = Integer.valueOf(args[2]).intValue();
DatagramPacket
request = new DatagramPacket(m, args[0].length(), aHost,
serverPort);
aSocket.send(request);
byte[] buffer = new byte[1000];
DatagramPacket
reply = new DatagramPacket(buffer, buffer.length);
aSocket.receive(reply);
System.out.println("Reply:
" + new String(reply.getData()));
}
catch (SocketException
e) {
System.out.println("Socket:
" + e.getMessage());
}
catch (IOException
e) {
System.out.println("IO:
" + e.getMessage());
}
finally {
if (aSocket != null) aSocket.close();
}
}
}
|
f.
Compile UDPServer dengan cara
mengetik
Javac UDPServer.java
g.
Jalankan program UDPServer
dengan cara mengetik
Java UDPServer <port number>
NB: Jalankan program dengan cara
menjalankan UDPServer dahulu baru kemudian menjalankan UDPClient.
h.
Compile UDPClient dengan cara
mengetik
Javac UDPClient.java
i.
Jalankan program UDPServer
dengan cara mengetik
Java UDPClient <pesan> <alamat> <port
number>
2.
PERCOBAAN 2
Langkah-langkah percobaan 2:
a.
Buatlah folder UDP2.
b.
Path ke jdk.
c.
Masuklah pada folder UDP2.
d.
Tulislah listing UDPServer.java
import java.io.*;
import java.net.*;
class UDPServer
{
public static void main(String
args[]) throws Exception
{
DatagramSocket
serverSocket = new DatagramSocket(9876);
byte[]
receiveData = new byte[1024];
byte[]
sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket = new
DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String
sentence = new String(
receivePacket.getData());
System.out.println("RECEIVED:
" + sentence);
InetAddress IPAddress = receivePacket.getAddress();
int port =
receivePacket.getPort();
String
capitalizedSentence = sentence.toUpperCase();
sendData
= capitalizedSentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData,
sendData.length, IPAddress, port);
serverSocket.send(sendPacket);
}
}
}
|
e.
Tulislah listing UDPClient.java
import java.io.*;
import java.net.*;
class UDPClient
{
public static void main(String
args[]) throws Exception
{
BufferedReader
inFromUser =
new
BufferedReader(new InputStreamReader(System.in));
DatagramSocket
clientSocket = new DatagramSocket();
InetAddress
IPAddress = InetAddress.getByName("localhost");
byte[]
sendData = new byte[1024];
byte[]
receiveData = new byte[1024];
String sentence =
inFromUser.readLine();
sendData =
sentence.getBytes();
DatagramPacket
sendPacket = new DatagramPacket(sendData,
sendData.length, IPAddress, 9876);
clientSocket.send(sendPacket);
DatagramPacket
receivePacket = new DatagramPacket(receiveData,
receiveData.length);
clientSocket.receive(receivePacket);
String
modifiedSentence = new String(receivePacket.getData());
System.out.println("FROM
SERVER:" + modifiedSentence);
clientSocket.close();
}
}
|
f.
Compile UDPServer dengan cara
mengetik
Javac UDPServer.java
g.
Jalankan program UDPServer
dengan cara mengetik
Java UDPServer
NB: Jalankan program dengan cara
menjalankan UDPServer dahulu baru kemudian menjalankan UDPClient.
h.
Compile UDPClient dengan cara
mengetik
Javac UDPClient.java
i.
Jalankan program UDPServer
dengan cara mengetik
Java UDPClient
j.
Masukkan pesan yang akan di
kirimkan.
Hai postingan yang menarik, coz aku juga suka pemrograman hehehe, jangan lupa kunjungi saya kembali ya
BalasHapusbaskarapunya.blogspot.com
keren dech..
BalasHapussalam kenal dari Tikar Rotan www.lampitmurah.com