Sedangkan untuk aplikasi client, berikut adalah tutorial nya :
1. Buat project baru, dengan nama project appSocketClient tanpa main class
2. Buat class baru, dengan cara klik kanan nama project, kemudian pilih new->Java Class, dan beri nama class “appSocketClient” dan package “app.socket”
3. Import beberapa komponen dibawah ini dalam appSocketClient.java :
import java.awt.Color;
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
4. Pada class appSocketClient lakukan perubahan pada nama class, dan tambahkan beberapa deklarasi seperti dibawah ini
Nama class menjadi :
public class appSocketClient extends JFrame implements ActionListener
Deklarasi variabel (dalam class appSocketClient diluar method yg ada didalam class tersebut) :
JLabel text, clicked;
JButton button;
JPanel panel;
JTextField textField;
Socket socket = null;
PrintWriter out = null;
BufferedReader in = null;
5. Akan ada error, karena method actionPerformed belum dibuat. Sekarang tambahkan method actionPerformed kedalam class appSocketClient.
public void actionPerformed(ActionEvent event){
Object source = event.getSource();
int i=0,j=0;
if(source == button){
//Send data over socket
String text = textField.getText();
out.println(text);
textField.setText(new String(""));
//Receive text from server
try{
String line = in.readLine();
textField.setText(line);
System.out.println("Text received :" + line);
}catch (IOException e){
System.out.println("Read failed");
System.exit(1);
}
}
}
6. Buat method baru didalam class appSocketClient, untuk membuat objek socket
public void listenSocket(){
//membuat objek socket
try{
socket = new Socket("localhost", 4444);
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}catch (UnknownHostException e) {
System.out.println("Unknown host: localhost.eng");
System.exit(1);
} catch (IOException e) {
System.out.println("No I/O");
System.exit(1);
}
}
7. Pada konstruktor (method appSocketClient) dalam class appSocketClient, tambahkan code berikut ini
public appSocketClient() {
text = new JLabel("Text to send over socket:");
textField = new JTextField(20);
button = new JButton("Click Me");
button.addActionListener(this);
panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setBackground(Color.white);
getContentPane().add(panel);
panel.add("North", text);
panel.add("Center", textField);
panel.add("South", button);
}
8. Terakhir, tambahkan method main pada class appSocketClient
public static void main(String[] args){
appSocketClient frame = new appSocketClient();
frame.setTitle("Client Program");
WindowListener l = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
frame.addWindowListener(l);
frame.pack();
frame.setVisible(true);
frame.listenSocket();
}
9. Jalankan aplikasi dengan menekan tombol F6
10. Catatan : jika aplikasi disisi client tidak menemukan server, maka applikasi akan keluar. Sehingga untuk menjalankannya, jalankan terlebih dahulu aplikasi di sisi server, kemudian aplikasi di sisi client.
Friday, May 4, 2007
Pratikum appSocketClient
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment