java UDP MulticastServer

contoh program multicast

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class UDPMulticastServer{
JFrame frame;
JPanel panel;
JButton button1,button2;
JTextArea area;
JScrollPane pane;
Thread thread;
MulticastSocket socket;

public static void main(String[] args) {
UDPMulticastServer u = new UDPMulticastServer();
}
public UDPMulticastServer(){
frame = new JFrame(“Broadcast Server”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
panel = new JPanel();
panel.setLayout(null);
area = new JTextArea();
button1 = new JButton(“Start”);
button1.setBounds(210, 10, 75, 40);
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new StartServer();
}
});
panel.add(button1);
button2 = new JButton(“Stop”);
button2.setBounds(300, 10, 75, 40);
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
thread.interrupt();
socket.close();
area.append(“Server is stopped\n”);
button1.setEnabled(true);
button2.setEnabled(false);
}
});
panel.add(button2);
pane = new JScrollPane(area);
pane.setBounds(10, 60, 365, 250);
panel.add(pane);
frame.add(panel);
frame.setSize(400, 400);
frame.setVisible(true);
}

public class StartServer implements Runnable{
InetAddress address;
StartServer(){
thread = new Thread(this);
thread.start();
button1.setEnabled(false);
button2.setEnabled(true);
}
public void run(){
try{
byte[] buffer = new byte[65535];
int port = 5000;
String address = “224.0.0.0”;
String address1 = “235.0.0.1”;
String address2 = “235.255.0.1”;
String address3 = “224.0.255.1”;
String addresStr[] = {address, address1, address2, address3};
try{
socket = new MulticastSocket(port);
InetAddress add = InetAddress.getByName(address);
socket.joinGroup(add);
InetAddress add1 = InetAddress.getByName(address1);
socket.joinGroup(add1);
InetAddress add2 = InetAddress.getByName(address2);
socket.joinGroup(add2);
InetAddress add3 = InetAddress.getByName(address3);
socket.joinGroup(add3);
InetAddress str[] = {add, add1, add2, add3};
area.append(“Server is started\n”);
while(true){
try{
//Receive request from client
for(int i=0; i < str.length; i++){
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, str[i], port);
socket.receive(packet);
addresStr[i] = packet.getAddress().toString();
InetAddress client = packet.getAddress();
int client_port = packet.getPort();
area.append(“Received : ‘” + new String(buffer).trim() + “‘ from ” + addresStr[i] + “\n”);
// send information to the client
String message = “your request\n “;
buffer = message.getBytes() ;
packet = new DatagramPacket(buffer, buffer.length, client, client_port);
socket.send(packet);
}
}
catch(UnknownHostException ue){}
}
}
catch(java.net.BindException b){}
}
catch (IOException e){
System.err.println(e);
}
}
}
}

sumber :http://www.roseindia.net/java/example/java/net/udp/UDPMulticastServer.shtml

One response to this post.

  1. Posted by das on Juni 5, 2010 at 4:06 am

    thanks bgtss

    Balas

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: