Senin, 09 Februari 2015

Assalamualikum sobat.....

Sebelum membahas Tentang Source Code Programnya silahkan di lihat dulu contoh hasil Run programINI ADALAH TAMPILAN Ketika di run menggunakan cmd....





PEMBAHSAN SOURCE CODE

Pembahasan kelas Server

public class iniserver {
private static ServerSocket serverSocket;
private static final int PORT = 1111;

Kode diatas merupakan perintah agar socket server hanya dapat diakses oleh
sendiri. Port  =  1111 merupakan  port  yang  disiapkan  pada  server  diatas. iniserver
merupakan nama kelas program javanya.

public static void main(String[] args) throws IOException {
try {
serverSocket = new ServerSocket(PORT);
System.out.println("Server berjalan, menunggu client...");
} catch (IOException ioEx) {
System.out.println("\nTidak dapat mensetup port!");
System.exit(1);
}


Kode  diatas  merupakan  perintah  untuk  membuat sebuar  socket  server
bernama  serverSocket.  “Server  berjalan,  menunggu  client…”  akan  muncul  ketika
program  dijalankan.  "\nTidak  dapat  mensetup  port!"  akan  muncul  ketika  program
dijalankan saat masih ada program yang sama yang dijalankan.

do {
Socket client = serverSocket.accept();
System.out.println("\nClient baru diterima.\n");
ClientHandler handler = new ClientHandler(client);
handler.start();
} while (true);


Kode diatas merupakan perintah untuk menunggu client terhubung / connect
pada  server. Selama  masih  ada  client  yang  ingin  masuk maka  server  tetap  bisa
menerima client tersebut.

class ClientHandler extends Thread {
private Socket client;
private Scanner input;
private PrintWriter output;
private Scanner userEntry;
public ClientHandler(Socket socket) {
client = socket;
try {

input = new Scanner(client.getInputStream());
output = new PrintWriter(client.getOutputStream(), true);
userEntry = new Scanner(System.in);
} catch (IOException ioEx) {
//ioEx.printStackTrace();

Kode diatas merupakan thread untuk mensetup referensi ke socket. Input
merupakan Scanner untuk mendapatkan input. Output merupakan perintah agar
menerima masukan dari keyboard.

public void run() {
String received;
String message;
do {
received = input.nextLine();
System.out.println(received);
System.out.print("");
System.out.print("server: ");
message = userEntry.nextLine();
output.println(message);
} while (!received.equals("QUIT"));


Kode diatas berfungsi untuk menerima dan mengirimkan pesan pada input stream
socket. Program diatas akan terus berjalan selama client tidak mengirimkan pesan
QUIT.

try {
if (client != null) {
System.out.println("Menutup
koneksi...");
client.close();
}
} catch (IOException ioEx) {
System.out.println("Penutupan koneksi
gagal!");


Kode diatas berfungsi untuk mengakhiri program.

==========================================


Pembahasan kelas Client

public class Client {
private static InetAddress host;
private static final int PORT = 1111;
public static void main(String[] args) {
try {
host = InetAddress.getLocalHost();
} catch (UnknownHostException uhEx) {
System.out.println("\nHost ID tidak
ditemukan!\n");
System.exit(1);
}
sendMessages();
}


Kode diatas merupakan perintah agar socket server hanya dapat diakses oleh
sendiri. Port  = 1111 merupakan  port  yang  disiapkan  pada  server  diatas. client
merupakan nama kelas program javanya.

private static void sendMessages() {
Socket socket = null;
try {
socket = new Socket(host, PORT);
Scanner  networkInput  =  new
Scanner(socket.getInputStream());
PrintWriter  networkOutput  =  new
PrintWriter(socket.getOutputStream(),
true);
Scanner userEntry = new Scanner(System.in);
String message, response;
do {
System.out.print("klien 1: ");
message = userEntry.nextLine();
networkOutput.println(message);
response = networkInput.nextLine();
System.out.println("\nSERVER> " + response);
} while (!message.equals("QUIT"));


Kode diatas merupakan perintah untuk mensetup stream untuk masukan dari
keyboard, yang kemudian di scan oleh scanner UserEntry dan di simpan dalam string
message. Setelah  itu  program  akan  mengirimkan  pesan  ke  server  dan  menunggu
server  merespon  pesan  tersebut.  Kode  akan  berjalan  selama  message  tidak
menampilkan QUIT.

try {
System.out.println("\nMenutup
koneksi...");
socket.close();
} catch (IOException ioEx) {
System.out.println("Gagal menutup
koneksi!");
System.exit(1);

Kode diatas merupakan perintah untuk mengakhiri program ketika user akan
keluar.
=====================================================


INI SOURCE CODENYA 

Berikut adalah listing program aplikasi chatting kelas server:

Kelas Server

import java.io.*;
import java.net.*;
import java.util.Scanner;
public class iniserver {
private static ServerSocket serverSocket;
private static final int PORT = 1111;
public static void main(String[] args) throws IOException {
try {
serverSocket = new ServerSocket(PORT);
System.out.println("Server berjalan, menunggu
client...");
} catch (IOException ioEx) {
System.out.println("\nTidak dapat mensetup port!");
System.exit(1);
}
do {
//Menunggu koneksi dari client...
Socket client = serverSocket.accept();
System.out.println("\nClient baru diterima.\n");
//Buat thread untuk menangani komunikasi dengan client
ini
//lewatkan socket yang relevan ke contructor dari
thread ini
ClientHandler handler = new ClientHandler(client);
handler.start(); //menjalankan thread yang telah
dibuat
} while (true);
}
}
class ClientHandler extends Thread {
private Socket client;
private Scanner input;
private PrintWriter output;
private Scanner userEntry;
public ClientHandler(Socket socket) {
//Set up referensi ke socket yang berasosiasi...
client = socket;
try {
input = new Scanner(client.getInputStream());
output = new PrintWriter(client.getOutputStream(),
true);
userEntry = new Scanner(System.in);
} catch (IOException ioEx) {
//ioEx.printStackTrace();
}
}
public void run() {
String received;
String message;
do {
//Terima pesan dari client pada input stream socket...
received = input.nextLine();
System.out.println(received);
System.out.print("");
System.out.print("server: ");
message = userEntry.nextLine();
//Kirim pesan (message)ke client pada output stream
socket...
//Terima respon dari client pada stream input socket...
output.println(message);
//Ulangi sampai client mengirimkan pesan 'KELUAR'...
} while (!received.equals("KELUAR"));
try {
if (client != null) {
System.out.println("Menutup koneksi...");
client.close();
}
} catch (IOException ioEx) {
System.out.println("Penutupan koneksi gagal!");
}
}
}


=============================================
Kelas Client

Berikut adalah listing program aplikasi chatting kelas client:

import java.io.*;
import java.net.*;
import java.util.Scanner;
public class Client {
private static InetAddress host;
private static final int PORT = 1111;
public static void main(String[] args) {
try {
host = InetAddress.getLocalHost();
} catch (UnknownHostException uhEx) {
System.out.println("\nHost ID tidak ditemukan!\n");
System.exit(1);
}
sendMessages();
}
private static void sendMessages() {
Socket socket = null;
try {
socket = new Socket(host, PORT);
Scanner networkInput = new
Scanner(socket.getInputStream());
PrintWriter networkOutput = new
PrintWriter(socket.getOutputStream(), true);
//Set up stream untuk masukan dari keyboard...
Scanner userEntry = new Scanner(System.in);
String message, response;
do {
System.out.print("klien 1: ");
message = userEntry.nextLine();
//Kirim pesan (message)ke server pada output stream
socket...
//Terima respon dari server pada stream input
socket...
networkOutput.println(message);
response = networkInput.nextLine();
//Tampilkan respon dari server...
System.out.println("\nSERVER> " + response);
} while (!message.equals("KELUAR"));
} catch (IOException ioEx) {
//ioEx.printStackTrace();
} finally {
try {
System.out.println("\nMenutup koneksi...");
socket.close();
} catch (IOException ioEx) {
System.out.println("Gagal menutup koneksi!");
System.exit(1);
}
}
}
}


===============================================



Selamat Mencoba sob...

Oleh : Saiful Bahri
Nim : 12201225

Butuh Bantuan hubungi == 0813.3432,9004..

Terimakasih salam DAHSYAAATTTT.......!!!!!