MEMBUAT CHAT NETWORK PROGRAMMING
MEMBUAT CHAT NETWORK PROGRAMMING
Hai teman-teman..
Kembali lagi di blog pribadi saya mengenai penerapan multi client ddengan single server, dan menerapkan class ServerSocket dan ServerSocket.
Masih sama dengan blog saya sebelumnya, disini menggunakan Git Bash Here dan membuat codingannya di NetBeans IDE 8.0.2
Langsung saja masuk ke codingan nya
Disini akan saya jelaskan tiap baris nya..
1. ChatServerMulti
import java.io.*; //untuk membaca library input output
import java.net.*; //untuk menghubungkan program yang dibuat lewat jaringan
public class ChatServerMulti{// merupakan nama class untuk CharServerMulti
private static ServerSocket servSock;// membuat server sock untuk menghubungkan port shock dengan client
private static final int PORT = 1234 ;// sebuah port socket yang akan menghubungkan server dan client
public static void main(String args[]) throws IOException{// suatu method yang membaca input data string.
System.out.println("Opening Port.....\n");// menghasilkan output teks berupa "Opening Port"
try{// u/ mengulang kembali program apabila terjadi exception
servSock = new ServerSocket(PORT);// membuat variabel baru
}catch(IOException e){// berfungsi untuk menangani kode exception error
System.out.println("Unable to attach to port");// output teks
System.exit(1);// berfungsi untuk keluar dari kesalan exception
}
do{ //
Socket client = servSock.accept();// membuat server socket pada client
ClientHandler handler = new ClientHandler(client);// membuat variabel baru
handler.start();
}while(true);//akan terjdi perulangan selagi nilai true.
}
}
class ClientHandler extends Thread{ //
private Socket client ;
private BufferedReader in ;
private PrintWriter out ;
public ClientHandler(Socket socket){// set up referensi ke socket beroasiasi
client = socket ;
try{// mengulang kembali program jika terjadi kesalahn
in = new BufferedReader(new// membuat input dan ouput untuk stream,, stream digunkan untuk berkomunikasi dengan client.
InputStreamReader(client.getInputStream()));// berfungsi untuk menerima respond dari client
out = new PrintWriter(client.getOutputStream(),true);//berfungsi untuk mengirim data ke client
}catch(IOException e){// berfungsi untuk menangani exception yang error
e.printStackTrace();//metode pada instance Exception yang mencetak jejak stack instance ke System.err
}
}
public void run(){
try{
String received ;
do{ ////Terima pesan dari client pada input stream socket
received = in.readLine();
System.out.println(received);
//Echo-kan pesan kembali ke client pada stream output socket
out.println("ECHO : " + received);
}while(!received.equals("QUIT"));// mengulang sehingga client mengirim pesan "quit"
}catch(IOException e){
e.printStackTrace();
}
finally{
try{
if (client != null){
System.out.println("Closing down connection");
client.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
}
2. ChatClientMulti
import java.io.*;//untuk membaca library input output
import java.net.*;//untuk menghubungkan program yang dibuat lewat jaringan
public class ChatClientMulti{// merupakan nama class untuk CharClientMulti
private static InetAddress host ;
private static final int PORT = 1234;
private static Socket link ; // Operasi ini pada intinya menunggu permintaan koneksi dari sisi client.
private static BufferedReader in ;// membuat koneksi input oleh client
private static PrintWriter out ;// membuat output oleh client
private static BufferedReader keyboard ;// memasukkan data input melalui keyboard
public static void main(String args[]){
try{// u/ mengulang kembali program apabila terjadi exception
host = InetAddress.getLocalHost(); // variabel host
link = new Socket(host,PORT);// variabel port
in = new BufferedReader(new
InputStreamReader(link.getInputStream()));//digunakan untuk menerima respon dari client
out = new PrintWriter(link.getOutputStream(),true);
keyboard = new BufferedReader(new InputStreamReader(System.in));
String message, response;
do{
System.out.print("Enter message(QUIT to exit)");
message = keyboard.readLine();
out.println(message);
response = in.readLine();
System.out.println(response);
}while(!message.equals("QUIT"));
}catch(UnknownHostException e){
System.out.println("Host ID not found!");
}
catch(IOException e){
e.printStackTrace();
}
finally{
try{
if (link != null){
System.out.println("Closing down connection");
link.close();
}
}
catch(IOException e){
e.printStackTrace();
}
}
}
}
Selanjutnya kita lihat output nya menggunakan GIT ya teman-teman..
Disini kita gunakan 3 client untuk 1 server yaa..
Komentar
Posting Komentar