Kamis, 25 September 2008

pemrograman socket (server)

Ini adalah contoh kode program client server dengan menggunakan bahasa program java, dimana kalian bisa mengembangkan program ini lebih luas. Seperti : aplikasi chatting, ftp(file transfer protocol),pengiriman email, remote, maupun pengaksesan data jarak jauh. Langsung saja


ini adalah file server1.java


//aplikasi server

import java.awt.*;

import java.awt.event.*;

import java.net.*;

import java.io.*;
public class Server1 extends Frame implements ActionListener,Runnable,KeyListener{ ServerSocket s;

Socket s1;

BufferedReader br;

BufferedWriter bw;

TextField text;

TextField name;

Button exit,clear;

Label label;

List list;

Panel p1=null;

Panel p2=null;

Panel sp21=null;

Panel sp22=null;

Panel jp=null;

public void run() {

try{s1.setSoTimeout(1);

}catch(Exception e){} while (true) {

try{

list.add(br.readLine());

}catch (Exception h){}

if(list.getItemCount()==7)

list.remove(0);
} }

public Server1(String m)

{

super(m);

jp=new Panel();

p1=new Panel();

p2=new Panel();

sp21=new Panel();

sp22=new Panel();

jp.setLayout(new GridLayout(2,1));

p1.setLayout(new GridLayout(1,1));

p2.setLayout(new GridLayout(2,1));

sp21.setLayout(new FlowLayout());

sp22.setLayout(new FlowLayout());

exit = new Button("Exit");

clear = new Button("Clear");

exit.addActionListener(this);

clear.addActionListener(this);

list = new List(50);

text = new TextField(43);

name = new TextField(10);

label = new Label("Enter your name");

name.addKeyListener(this);

text.addKeyListener(this);

p1.add(list);

sp21.add(text);

sp21.add(exit);

sp22.add(label);

sp22.add(name);

sp22.add(clear);

p2.add(sp21);

p2.add(sp22);

jp.add(p1);

jp.add(p2);

this.add(jp);

setBackground(Color.orange);

setSize(380,300);

setLocation(0,0);

setVisible(true);

setResizable(false);

name.requestFocus();

try{ /*786 adalah port untuk bisa berkomunikasi dengan klien anda bisa merubahnya sesuai dengan keinginan anda*/

s = new ServerSocket(786);

s1=s.accept();

br = new BufferedReader(new InputStreamReader( s1.getInputStream()));

bw = new BufferedWriter(new OutputStreamWriter( s1.getOutputStream())); bw.write("Welcome");

bw.newLine();

bw.flush();

Thread th;

th = new Thread(this);

th.start();

}catch(Exception e){} }

public static void main(String args[]) {

new Server1("Server");
}
public void actionPerformed ( ActionEvent e) {

if (e.getSource().equals(exit)) System.exit(0);

else if (e.getSource().equals(clear))

{ name.setText(" ");

name.setEditable(true);

} }

public void keyPressed(KeyEvent ke) {

if(text.equals(ke.getSource()))

{

if(ke.getKeyCode()==KeyEvent.VK_ENTER)

{

try{

bw.write(name.getText()+">>"+text.getText());

bw.newLine();

bw.flush();

}catch(Exception m){}

list.add(name.getText()+">>"+text.getText());

text.setText("");
} }

else if(name.equals(ke.getSource())) {

if(ke.getKeyCode()==KeyEvent.VK_ENTER)

{

name.setEditable(false);

text.requestFocus();

} }
}

public void keyReleased(KeyEvent ke) { //something }

public void keyTyped(KeyEvent ke) { //something }
}

Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda