Chat Client ke Server (Network Programming)!!!

Chat Client Ke Server Menggunakan Java Netbeans dan Git Bash 

Pada kesempatan kali ini penulis membuat dan membahas tentang Program Client Mengirim Pesan Ke Server
Dan Sourcecode program yang pertama seperti ini : ChatServer.java

import java.io.*; 
import java.net.*;
public class ChatServer{
 private static ServerSocket servSock;
 private static final int PORT = 1234 ;
 public static void main(String args[]){
 System.out.println("Opening Port.....\n");
 try{
  servSock = new ServerSocket(PORT);
  }catch(IOException e){
   System.out.println("Unable to attach to port");
   System.exit(1);
  }
  do{
   run(); 
}while(true);
 }
 private static void run(){
  Socket link = null ;
  try{
   link = servSock.accept();
   BufferedReader in = new BufferedReader(new
   InputStreamReader(link.getInputStream()));
   PrintWriter out = new PrintWriter(link.getOutputStream(),true);
   int numMessages=0;
   String message=in.readLine();
  while(!message.equals("close")){
   System.out.println("Message received");
   numMessages++;
   out.println("Message " + numMessages + ":" + message);
   message = in.readLine();
  }
  out.println(numMessages + " message received.");
  }catch(IOException e){
   e.printStackTrace();
  }
  finally{
   try{
    System.out.println("*********Closing Connection****");
    link.close();
   }
   catch(IOException e){
    System.out.println("Unable to disconnect");
    System.exit(1);
 }
}
}

Kemudian Sourcecode untuk Client mengirim chat ke server : ChatClient.java

import java.io.*;
import java.net.*;
public class ChatClient{
 private static String strHost ;
 private static InetAddress host ;
 private static final int PORT = 1234;
 public static void main(String args[]){
 try{
  host = InetAddress.getLocalHost();
 }catch(UnknownHostException e){ 
System.out.println("Host ID Not Found");
  System.exit(1);
 }
  run();
 }
private static void run(){
 Socket link = null ;
 try{
  link = new Socket(host, PORT);
  BufferedReader in = new BufferedReader(new
  InputStreamReader(link.getInputStream()));
  PrintWriter out = new PrintWriter(link.getOutputStream(),true);
  BufferedReader userEntry = new BufferedReader(new
  InputStreamReader(System.in));
  String message, response ;
  do{
   System.out.print("Enter message : ");
   message = userEntry.readLine();
   out.println(message);
   response = in.readLine();
   System.out.println("SERVER " + response);
  }while(!message.equals("close"));
 }catch(IOException e){
  e.printStackTrace();
 }
 finally{
  try{
   System.out.println("closing connection");
   link.close();
  }
  catch(IOException e){
   System.out.println("Unable to disconnect!");
   System.exit(1);
  }
 }
}


Output dari Program yang dibuat dan dicompile menggunakan Git Bash dengan  Syntax yang digunakan seperti yang tertera pada gambar dibawah ini : 




Java menyediakan obyek Socket dan ServerSocket untuk komunikasi soket TCP. ServerSocket digunakan pada sisi aplikasi server, sedangkan Socket digunakan baik pada sisi aplikasi server maupun client.
sedikit penjelasan dari sourcecode yang dibuat 
1.Socket di server Konstruktor ServerSocket memerlukan port number (1234) sebagai argumen. Sebagai contoh : 
ServerSocket servSock = new ServerSocket(1234)
untuk koneksi ke server dengan membuat sebuah objek Socket, yang mempunyai konstruktor dengan dua argumen:
• IP address server 
• Port Number 
Port number untuk server dan client haruslah sama. 
Socket link = new Socket(InetAddress.getLocalHost(),1234); 
maksudnya disini adalah Server akan menunggu koneksi dari client pada port 1234.
2.Server dalam kondisi menunggu (listen). Operasi ini pada intinya menunggu permintaan koneksi dari sisi client.
Socket link = servSock.accept();
3.Stream ini digunakan untuk berkomunikasi dengan client. Objek InputStreamReader digunakan untuk menerima respon dari client. Sedangkan PrintWriter untuk mengirimkan data ke client. 
BufferedReader in = new BufferedReader(new 
InputStreamReader(link.getInputStream()));
PrintWriter out = new PrintWriter(link.getOutputStream(),true);
4.Untuk saling berkirim dan menerima pesan gunakan method readLine() untuk menerima data, dan method println() untuk mengirim data.
out.println("Message " + numMessages + ":" + message); message = in.readLine();


Baiklah cukup sekian pembahasan mengenai program mengirim pesan dari client ke server. Wassalamualaikum Wr.Wb salam Engginer


Komentar

Postingan populer dari blog ini

Tutor Membuat Login Databases Pada Java NetBeans IDE 8.2 dan MySQL XAMPP