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
Posting Komentar