Newer
Older
ServerTester / src / main / java / info / istlab / ServerTester / UDPClient.java
package info.istlab.ServerTester;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient {
    public static void main(String[] args) {
    }
    public UDPClient() {
        DatagramSocket socket = null;
        try {
            // クライアントソケットを作成
            socket = new DatagramSocket();
            socket.setBroadcast(true);
            InetAddress serverAddress = InetAddress.getByName("255.255.255.255");

            // 送信メッセージを作成
            String message = "こんにちは、サーバー!";
            byte[] messageData = message.getBytes();

            // データグラムパケットを作成
            DatagramPacket packet = new DatagramPacket(
                    messageData, messageData.length, 
                    serverAddress, 54321
            );

            // メッセージを送信
            socket.send(packet);
            System.out.println("メッセージをサーバーに送信しました: " + message);

            // サーバーからの応答を受信
            byte[] buffer = new byte[1024];
            DatagramPacket responsePacket = new DatagramPacket(buffer, buffer.length);
            socket.receive(responsePacket);
            
            // 受信したデータを文字列に変換
            String response = new String(responsePacket.getData(), 0, responsePacket.getLength());
            System.out.println("サーバーからの応答: " + response);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (socket != null && !socket.isClosed()) {
                socket.close();
            }
        }
    }
}