UDPパケットを送受信する -- ブロードキャストアドレスに対しての送信

戻る

::::::::::::::
PacketReceiver.java
::::::::::::::
import java.net.*;
import java.util.*;

/**
* $Id: udp-broadcasting.html,v 1.1 2009/06/22 16:12:31 kishi Exp kishi $
* @author KISHI Yasuhiro
*/

public class PacketReceiver {
    public static void main(String[] args)
        throws Exception {
        DatagramSocket dgSocket = new DatagramSocket(18418);

        byte buffer[] = new byte[1024];
        DatagramPacket packet = 
            new DatagramPacket(buffer, buffer.length);

        while (true) {
            dgSocket.receive(packet);

            System.out.print (new String(packet.getData(), 
                            0, packet.getLength()));
		System.out.println( ": " + new Date() );
        }
    }
}

::::::::::::::
PacketSender.java
::::::::::::::
import java.net.*;
/**
* $Id: udp-broadcasting.html,v 1.1 2009/06/22 16:12:31 kishi Exp kishi $
* @author KISHI Yasuhiro
*/

public class PacketSender {
    public static void main( String[] args )
    throws Exception {
	//
	// Specify broadcast address
	//
        InetSocketAddress isAddress = new InetSocketAddress( "192.168.0.255", 18418 );

        byte[] buffer = "NOTIFICATION".getBytes();

        DatagramPacket packet = new DatagramPacket( buffer, buffer.length, isAddress );

        new DatagramSocket().send( packet );
    }
}


■クライアント側
$ java -cp . PacketSender

$ java -cp . PacketSender

$ java -cp . PacketSender

■サーバ側
$ java -cp . PacketReceiver
NOTIFICATION: Sun Oct 22 11:23:16 JST 2006
NOTIFICATION: Sun Oct 22 11:23:21 JST 2006
NOTIFICATION: Sun Oct 22 11:23:22 JST 2006

戻る

inserted by FC2 system