import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; public class UdpVoiceSender { private static final String IP_ADDRESS = "192.168.1.100"; // 刷卡器IP地址 private static final int PORT = 8000; // 刷卡器UDP端口号 private static final String VOICE_DATA = "#[v2]已刷卡,欢迎光临"; // 语音数据 public static void main(String[] args) { try (DatagramSocket socket = new DatagramSocket()) { byte[] buffer = VOICE_DATA.getBytes(); InetAddress address = InetAddress.getByName(IP_ADDRESS); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, PORT); socket.send(packet); System.out.println("语音数据已发送到刷卡器"); } catch (IOException e) { e.printStackTrace(); } }
使用了Java的DatagramSocket类来创建UDP套接字,并使用DatagramPacket类来构建要发送的数据包。首先,我们将语音数据转换为字节数组,然后将其包装在一个DatagramPacket对象中,该对象指定了目标IP地址和端口号。最后,我们使用DatagramSocket类的send()方法将数据包发送到目标设备,要发送的语言前需加“#”,[v2]代表音量