Rabu, 13 Maret 2013

Tutorial membuat Client-Server

Artikel ini akan menjelaskan tutorial membuat client-server sederhana.

Sebelum dimulai pastikan laptop sudah terinstall Netbeans dan Java versi 2012 keatas.

ambil contoh membuat jaringan pada soal sebagai berikut :


1. client mengirim string "1",
server membalas dengan :
"Menu :
1. Lanjut
2. Mutung"
2. Jika client mengirim "1", server membalas dengan
mengirim data berupa menu diatas
3. Jika client mengirim "2", server membalas dengan
mengirim data string "Memutuskan segala hubungan kita"
lalu client menutup semua stream dan socket


Step by Stepnya sebagai berikut :
1. Buka Netbeans terlebih dahulu.

2. buat project di Netbeans sebanyak 2 class. yakni diberi nama client.java dan server.java

3. masukkan syntax di client sebagai berikut :

package socket;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Client {

public static void main(String[] args) throws IOException {
while(true){
try {
// TODO code application logic here
InetAddress host = InetAddress.getLocalHost();
Socket socket = new Socket(host.getHostName(), 1234);

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());

Scanner sc = new Scanner(System.in);
String input = sc.next();

if(input.equals("1"))
{
oos.writeObject(input);

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String)ois.readObject();

System.out.println("pesan: "+message);


}







else if(input.equals("2"))
{
oos.writeObject(input);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String)ois.readObject();

System.out.println("pesan: "+message);
break;

}
else
{
oos.writeObject(input);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String)ois.readObject();

System.out.println("pesan: "+message);
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnknownHostException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}


4. pada server sebagai berikut :

package socket;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Server {
public static void main(String[] args) throws IOException, IOException {

int port=1234;
ServerSocket server = new ServerSocket(port);

while(true){
try {
System.out.println("Tunggu pesan .....");
Socket socket = server.accept();

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message=(String) ois.readObject();

System.out.println("Pesan: "+message);
if(message.equals("1")) {

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject("Menu:\n"
+ "1.Lanjut\n"
+ "2.Mutung\n");
oos.flush();
}
else if(message.equals("2"))
{ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject("Memutuskan segala hubungan kita");
oos.flush();


}
else
{ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject("INPUT ERROR");
oos.flush();


}

System.out.println("Tunggu pesan dari client... ");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}

5. kemudian Untuk Menjalankan Ketik shift+F6. Yang di Run Server dulu kemudian Client.

gambarnya sebagai berikut :


3 komentar:

permisi gan, saya ada sedikit tulisan mengenai implementasi websocket di java gan, kalau berkenan silahkan kalau mau di improvisasi gan, semoga bermanfaat http://datacomlink.blogspot.co.id/2015/11/implementasi-server-websocket-rfc-6455.html terima kasih gan sebelumnya atas perhatiannya, semangat open source :D

Poskan Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More