© 2012 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu
Quick Links
Easy Studies
« NS2  Projects »

Home Lab Exercise Network Lab Exercise Programs Java Program For Message Passing Using Message window▼


Java program For Message Passing Using Message window:

import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; public class MessageWindow extends Frame implements ActionListener, Runnable { public MessageWindow() { try { socket = new DatagramSocket(); Integer port = new Integer(socket.getLocalPort()); setTitle("Messenger (local port="+port.intValue()+")"); } catch (Exception err) { Dialog derr = new ErrorDialog(this, err); derr.show(); derr.dispose(); } addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); setSize(600,300); setBackground(Color.lightGray); setLayout(new BorderLayout()); Panel p = new Panel(new FlowLayout(FlowLayout.CENTER)); p.add(new Label("Host name:", Label.RIGHT)); p.add(hostname); p.add(new Label("Port:", Label.RIGHT)); p.add(portnum); Button b = new Button("Send!"); b.addActionListener(this); p.add(b); add(p, "North"); add(msg); Thread t = new Thread(this); t.start(); } public void actionPerformed(ActionEvent event) { if ( event.getActionCommand().equals("Send!") ) try { byte[] data = msg.getText().getBytes(); InetAddress addr = InetAddress.getByName(hostname.getText()); Integer port = new Integer(portnum.getText()); DatagramPacket pckt = new DatagramPacket(data, data.length, addr, port.intValue()); socket.send(pckt); } catch (Exception err) { Dialog derr = new ErrorDialog(this, err); derr.show(); derr.dispose(); } } public void run() { try { while (true) { byte[] data = new byte[2048]; DatagramPacket pckt = new DatagramPacket(data, data.length); socket.receive(pckt); Message m = new Message(socket, pckt); m.show(); } } catch (Exception err) { Dialog derr = new ErrorDialog(this, err); derr.show(); derr.dispose(); } } public static void main(String[] arg) { MessageWindow mw = new MessageWindow(); mw.show(); } private DatagramSocket socket; private TextArea msg = new TextArea(); private TextField hostname = new TextField(10); private TextField portnum = new TextField(4); } class Message extends Frame implements ActionListener { public Message(DatagramSocket sock, DatagramPacket pckt) { socket = sock; packet = pckt; try { String hostname = pckt.getAddress().getHostName(); String addr = pckt.getAddress().getHostAddress(); Integer port = new Integer(pckt.getPort()); setTitle("Message from "+hostname+"("+addr+":"+port.intValue()+")"); } catch (Exception err) { Dialog derr = new ErrorDialog(this, err); derr.show(); derr.dispose(); } addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); setSize(250,200); setBackground(new Color(225,225,225)); setLayout(new BorderLayout()); add(new Label("Edit message and press 'Reply!'"), "North"); String data = new String(pckt.getData()); msg.setText(data); add(msg, "Center"); Panel p = new Panel(new FlowLayout(FlowLayout.CENTER)); Button b = new Button("Reply!"); b.addActionListener(this); p.add(b); b = new Button("Close"); b.addActionListener(this); p.add(b); add(p, "South"); } public void actionPerformed(ActionEvent event) { if ( event.getActionCommand().equals("Reply!") ) { try { packet.setData(msg.getText().getBytes()); socket.send(packet); } catch (Exception err) { Dialog derr = new ErrorDialog(this, err); derr.show(); derr.dispose(); } } dispose(); } private DatagramPacket packet; private DatagramSocket socket; private TextArea msg = new TextArea(); }

SAMPLE INPUT OUTPUT:

send the message

Reply window

 
SLogix Student Projects

⇓ Student Projects ⇓
⇑ Student Projects ⇑
bottom