JavaでUDPメッセージの送受信を実現するには
Javaにて、DatagramSocketとDatagramPacket 클래스を使用することでUDPのメッセージの送受信を実装できます。次がその簡単なサンプルコードです。
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPExample {
private static final int PORT = 8888; // 设置UDP端口号
public static void main(String[] args) {
try {
// 创建DatagramSocket对象,绑定UDP端口
DatagramSocket socket = new DatagramSocket(PORT);
// 创建接收数据的字节数组
byte[] receiveBuffer = new byte[1024];
// 创建接收数据的DatagramPacket对象
DatagramPacket receivePacket = new DatagramPacket(receiveBuffer, receiveBuffer.length);
// 接收消息
socket.receive(receivePacket);
// 解析接收到的消息数据
String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("接收到消息:" + receivedMessage);
// 创建发送数据的字节数组
byte[] sendBuffer = "Hello, UDP!".getBytes();
// 获取接收到的消息的地址和端口号
InetAddress address = receivePacket.getAddress();
int port = receivePacket.getPort();
// 创建发送数据的DatagramPacket对象
DatagramPacket sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, address, port);
// 发送消息
socket.send(sendPacket);
// 关闭连接
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
このコードには、簡単な UDP メッセージ送受信の実行例が含まれています。最初に DatagramSocket オブジェクトを作成して UDP ポートをバインドします。次に、受信データの受け取りに使用するバイト配列を作成し、データの受信に使用する DatagramPacket オブジェクトを作成します。receive メソッドを使用してメッセージを受信し、受信したメッセージデータを解析します。次に、送信データの受け取りに使用するバイト配列を作成し、受信したメッセージのアドレスとポート番号を取得します。その後、新しい DatagramPacket オブジェクトを作成して、送信データ、アドレス、およびポート番号を渡します。最後に、send メソッドを使用してメッセージを送信し、接続を閉じます。
UDPは接続型ではないプロトコルなので、メッセージを送信する前に特別な接続を確立する必要がないことに注意してください。