我只想通过点击按钮使用UDP将数据发送到另一台设备(PC)。所以我为它制作了一个方法,我在其中放置UDP代码并在单击按钮时建立关系。但是根据IDE,包含我要发送的字符串数据的字节没有很好地创建。
以下是代码:
String argv = "WhatISend";
int port = 9268;
byte[] buffer= new byte[argv.lenght()];
try {
InetAddress server = InetAddress.getByName("172.16.19.14");
buffer = argv.getBytes();
DatagramSocket socket = new DatagramSocket();
DatagramPacket udp_emission = new DatagramPacket(buffer, buffer.length, server, port);
socket.send(udp_emission);
socket.close();
} catch (Exception e) {
System.out.println("Fail socket");
}
问题出在" byte [] buffer = new byte [size];"
答案 0 :(得分:1)
根据您问题的措辞,听起来您希望buffer
包含原始字符串的字符。但是,实际的byte
数组不包含字符串数据。您向我们展示的代码只是创建一个byte
数组,其长度与输入字符串相同。您尚未将单个字符分配到buffer
。
你可能想要的是:
buffer = argv.getBytes();
有关详细信息,请参阅String.getBytes()
。